Skip to main content

Full text of "TS-2068 Up-date"

See other formats


,  $4.95       OCTOBER  1988 


OF 


SINCLAIR  COMPUTERS 


The  Sinclair  QL 

-a  32  bit  CPU  Powerhouse! 


The  TS-2068  Workte3< 


1317  Stratford  Ave.  I 
^nama  City,  FL  32404   I  904    871  3556 


News  and  New  Products 


A  Christmas  Wish  for 


n  SPECTERM-64(TS-4.1) 

300/1200  Terminal  Software  for  T/S2068 
On  JLO.  AERCQ.  t  arlcpn  disk  or  tape. 
Only    S25.00    +    S2.50  S&H 

ALSO 

[]  Z~SI/0^  Bare  Boards 

RS-232C  Serial  Interface  for  T/S2068 

With  FREE  2050  card 
Only    S24.50    +    S2.50  SSrH 

OR  BOTH  FOR  ONLY 

$50.00  inc.  S&H 

(  OinsiK  W  connains  sraicsi  S6.S0  StH  I 


LARKEN  Disk  Harduare; 

[  ]  liRKEN  Disk  System 

includes  LARKEN  Floppy  Disk  Interface.  LKDOS  (v.3) 
Cartridge,  Operating  Manual  and  LKDOS  Utiities'  Disk 
Only    S120.00    +    S5.00  S^H 

[  ]  LKDOS  Cartridge  for  10 

Specially  configured  LKDOS  (v.3)  Cartridge  that 
works  with  your  JLO  SAFE  Disk  hardware.  Includes 
Operating  Manual  and  LKDOS  Utilities'  Disk, 
Only    S65.00    +    S3.50  S&H 

[  ]  LARKEN  Raidisk 

No  RAM  chips  are  incltjdpd.  You  can  add  up 
to  256K  to  this  Nonvolatile  Ramdisk.  Easy  to  use 
as  a  floppy  disk  with  LKDOS. 

Only    S60.00    +    S3.50  S&H 


[]  Tandon  TMlOl-4  Quad 
Disk  Drives 

These  disk  drives  are  brand  new  in  factory 
sealed  cartons.  They  are  double  sided, 
double  density,  98  tpi  (quad),  full  height 
drives.  They  are  compatible  with  JLO, 
LKDOS,  AERCO  and  QL  disk  systems. 

$45.00   +   $5.00  S&H 

Buy  2.  Get  FREE  Drive  Cable! 
Buy  3,  Get  4th  for  Half  Price! 
Buy  4,  Get  One  Disk  Drive  FREF! 

C   3   Cable  (2dr)..S12.50+S2.50 

Hayes  Compatible  HODEHS 

[  3  Avatex  2400  <3/12/2400)....S179 
For  CP/M,  IBM  and  other  systems. 

[  3  Avatex  1200hc  (300/1200).  S99 

For  T/S2068  <w/  Z-SI/O)  and  QL. 

[  3  Avatex  1200<P>  (300/1200U...S125 
<:P>ocket  size  for  the  Z88. 

[   ]  Avatex  1200-=:E:>  (300/1200).^  S85 

Great  for  SPECTERM-64! 

Epson  Compatible  PRINTERS 

[    3   Seikosha    1200AI  (120/25)..S199 

[    3    Seikosha    180AI  (100/20)..S169 

[    3   Star    NX1000  (144/34)....S229 

All  modems  add  $3.50  for  SSrH,  all  printers  add 
$10.00  for  S&H  {Canada  double  S&H  on  all  items). 


This    Christmas    Uish    List    is    brought    to    you  by: 

Ed   Gr^ey  Enter^pr^ises 

P.O.    Box    #2186,    Inglewood,    CA  90305 

Info  »  213-759-7406  «  Order 
Call  Jke  firey  Met  BBS  &  RCP/H  (m-m-6260} 


INDEX 

UPDATE  OCTOBER  1988  ISSUE 


General  Infornetion 

Disk  Libraries 

4 

Flea  Market 

70 

Invitation  to  Writers 

48 

Issue  Disks 

6,  72 

MDV  Dubbing 

6,72 

North  American  User  Group 

8 

SINCLAIR  Z88 

12 

Supply  Support  15, 
Writer's  Format 

70-73 

43 

CLUBS 


Boston  Computer  Society  27 

CCATS  Portland,  CR  25 

Milwaukee,  WI  TSUG  33 

SINCUS,  New  York  8 

Toronto,  Canada  TSUG  33 

Vancouver,  Canada  TSUG  17 


ADVERTISING  RATE  SCHEDULE  page  77 

ZX  APPEAL  17 

SINCUS  NEWS  8 

PLOTTER  25 

BoSlUG  27 

SINC-LINK  33 

QZX  40,  17 

UPDATE  SOFTWARE  LIBRARY  page  74 


TS-2068  Articles  and  Subjects 

Align  Decimals  11 

Color  Screens  Copy  9 

Disk  Multi  Mgr  (Oliger)  21 

Extra  Memory  Recap  49 
Extra  Memory,  Charles  Bothner  50 

Graphics  LFRINT  25 

Hex  Printer  Dump  25 

INTeger  Function  11 

Interface  for  Color  Copy  9 

LFRINT  CHR$  25 

MAX  DOS  3  Stacked  DOS's  2 

MSCRIPT  for  LKDOS  34 

m  ERR  Tutorial  14 

a>EN#,  CLOSES,  Streams  36 

Ckimate  20  Printer  9 

PRINT  USING  11 

Round  Numbers  UP  11 

TOS  DISK  with  OS-64  13 

Teleconputing  41 

Test  Printer  25 


UPDATE  MAGAZIbE 


QL  Articles  and  Subjects 

ARCHIVE  Tutorial  56 

Address  File  Program  44 

Arithmetic  for  Kids  64 

Beginner  Course  30 

CABLE  Column  56 

CABLE  ISSUE  DISK/MDV  CART  69,  72 

copy  MDV  Cartridge  23,  31 
HELPER,  Super  Basic  Tool  Kit  63 

Initializing  SPEED  SCREEN  23 

Initializing  TK2_  23 

Microdrive  Fprmatting  23,  30 

PRINT  Primer  32 

QL  Tips  23 

QUILL,  Configure  printer  31 

QUILL,  File  Saver  29 

QUILL,  LLISTing  with  31 

RAM  EXTENSION  19 

REFIELD,  a  Major  Software  60 

SCAN,  an  ARCHIVE  Software  65 

Sound  Experimenter  18 
TAX  Software  to  beat  Deadline  15 

TELEOOMPUTIM];  17,  41 

TELE00MPOTIN3  with  PACKET  42 

TOOL  KIT  2  28 


OCrOBER  1988 


HCW  GOES  IT,  UPDATE?? 

UPDATE  Magazine  launches  into  the  next 
four  years  of  publishing  with  near  100% 
renewals  of  subscriptions,  and  a  flood  of 
new  subscribers,  (lost  gratifying  are  the 
fnany  favorable  comments  and  good  wishes 
received  with  the  subscription  renewals. 
Actually,  subscribers  more  than  trippled 
since  the  last  issue.  It  is  difficult  to 
take  score  of  QL  users  and  TS-2068  users. 
Around  2/3  of  the  subscribers  are  OL 
owners,  but  half  of  them  also  own  a 
TS-2068. 

MAX  DOS  Versas  the  IBM  MS  DOS 
Versas  QL  DOS 

In  past  writings  I've  kinda  given  the 
IBM  PC  a  bit  of  criticisms,  mainly  to 
re-assure  the  TS-2068  and  QL  users  that 
they  really  aren't  missing  much  by  not 
having  a  IBM  Compatable  machine.  AND,  we 
need  to  feel  good  about  what  we  are 
doing!  A  letter  came  in  from  a 
subscriber  who  was  one  of  the  original 
designers  of  the  IBM  operating  system. 
He  ask  for  anonymity,  so  I  will  quote 
only  half  of  his  letter: 

-Dear  Bill,  Enclosed  please  find  my 
1989  renewal.  Unfortunately  I  do  not  run 
any  of  the  disk  systems  that  you  support, 
however,  the  organization  and  the  quality 
of  the  articles  in  Update  are  well  worth 
the  price.  I  have  invested  so  much  of 
myself  into  SPDOS,  using  many  of  the 
system  components,  that  I  cannot  face 
even  evaluating  another  system.  I  am, 
however,  beginning  to  worry  about 
equipment  failures.  If  you  hear  of  any 
MILLENNIA  K  disk  systems  available  I 
would  appreciate  a  call.  I  could  also 
use  a  disk  drive  case  with  power  supply 
for  two  5.25"  drives. 

I  was  Pleased  to  note  your  reaction  to 
MS  DOS.  In  1965  we  were  similarily 
concerned  about  OS/360  (si mi  liar 
Philosophy)  then  being  developed  for  the 
main  frame  family.  Two  others  and  I 
built  the  prototype  virtual  machine- 
operating  system  at  IBM  Cambridge 
Scientific  Center. 

INTEL  has  built  a  (8086)  Virtual 
Machine  Facility  into  their  80386  chip 
(Intel   231252-001)  which  now  seems  to  be 


UPDATE  MAGAZINE 


supported  by  VM/386,  Perhaps  when  this 
is'  expanded  to  use  paging  and  allow 
VM/386  to  run  under  VM/386  I  may  desert 
the  2068  for  purely  personal  reasons. 
(Signature) " 

To  the  writer,  and  others  interested: 
Thanks  for  your  comments.  The  CUYAHOGA 
VALLEY  SOFTWARE  WORKS,  615  School  Ave, 
Cuyahoga  Falls,  (DH  ^221,  is  a  group  of 
users  and  programmers  using  SPDOS  and  the 
Millennia  K  Disk  system.  The  address 
given  is  that  of  Thomas  Simon,  one  of  the 
leaders  of  the  group.  This  group  has 
developed  SPDOS  on  disk  to  load  into  and 
operate  with  the  TS-2068  Oliger  Disk 
System.  SPDOS  loads  to  RAM  and  is 
co-resident  with  the  Oliger  DOS, 
providing  two  disk  formats  and  a 
"combined"  DOS  Tool  Kit  language 
structure,  much  more  powerful  than  either 
DOS. 

The  nice  part  for  Oliger  Disk  owners 
is  that  no  additional  hardware  is  needed. 
All  they  need  to  do  is  order  the  SPDOS 
Disk  ($29.95  from  address  given) . 

The  nice  part  for  the  Millennia  K 
SPDOS  users  is  that  the  Oliger  disk 
system  provides  a  new  "hardware  home"  .for 
SPDOS,  where  all  of  their  existing 
software  disks  can  be  loaded  and  used  in 
an  even  more  capable  environment  than 
that  of  Millennia  K. 

So  Friend,  dont  give  up  the  ship.  Just 
add  the  Oliger  Disk,  which  is  less 
expensive  than  an  IBM  controller  card, 
and  you  will  continue  to  be  comfortable 
using  SPDOS.  Also  I  appreciate  your  nice 
comments  and  your  agreement  with  the 
position  I  take  on  MS-DOS.  There  are  not 
too  many  who  are  willing  to  "buck  the 
tide"  and  tell  it  like  it  is,  in  the  face 
of  the  "MS  DOS  Compatability  fraud"  that 
the  industry  has  F>erpet rated  upon  the 
public.  People  actually  develop  an 
inferiority  complex  over  not  having  a 
"IBM  Compatable"  computer!  By  the  way- 
why  dont  you  do  some  articles  for  UPDATE? 
We  could  benefit  form  your  expertise.  The 
next  subject  broadens  upon  this 
discussion. 

MAX  DOS:  (Reference  article  1n  UPDATE, 
July  88  issue  for  background) .  I  have 
continued  to  use  the  Oliger  DOS  and 


UPDATE  ^MGAZI^E 


OCTOBER  1988 


OCTOBER  1988 


Larken  DOS  together,  and  have 
experimented  with  stacking  SPDOS  "on  top 
of  both",  THREE  Disk  Operating  systems 
together.  Actually  the  Larken  DOS  and 
SPDOS  have  many  of  the  same  functions. 
So  there  is  not  a  great  difference  in  the 
capabilities  of  "Stacked  01 iger/ Larken" 
and  "Stacked  01 iger /SPDOS",  so  we  could 
dub  the  two  "MAX  DOS  L"  and  "MAX  DOS  S" 

So,  I  will  continue  to  discuss  MAX  DOS 
as  the  combo  of  "01  iger  DOS  Hardware 
interface",  and  the  "LARKEN  LKDOS  Dock 
Cartridge".  I  have  been  operating  with 
this  combination  of  hardware  for  the  past 
several  months,  hardly  ever  bothering  to 
remove  the  cartridge  or  the  01  iger  B 
board.  A  couple  of  months  ago  I  received 
a  "loaner  B  board"  from  John  01  iger. 
This  one  has  a  "EPROM  OFF"  switch,  which 
my  earlier  board  did  not  have.  The 
significance  of  this  added  switch  in  the 
MAX  DOS  environment  is  that  the  LARKEN 
NMI  functions  will  work  when  the  OLIGER 
EPROM  is  switched  OFF.  BUT,  to  use  the 
OLIGER  NMI  functions,  you  must  remove  the 
LKDOS  Cartridge.  Now  we  need  to  convince 
Larry  Kenny  to  give  us  a  little  switch 
modification  to  his  LKDOS  cart  to  do  the 
same,  in  order  to  allow  the  OLIGER  NMI 
functions  to  work  as  well. 

Otherwise,  MAX  DOS  is  indeed  a  very 
powerful  DOS,  despite  the  minor  NMI  clash 

Now  I  dont  want  this  to  sound  like 
criticism,  so  will  lead  in  with  with 
compliments.  The  LKDOS  EXm  BASIC 
functions  are  SUPER!  AND,  so  are  the 
01 i  ger  Extra  Bas i  c  f unct  i  ons .  When  • 
operating  in  the  MAX  DOS  environment,  one 
can  use  ALL  of  BOTH  system's  extra  basic 
tool  kit  functions.  The  nice  part  is 
that  the  LKDOS  functions  are  speeded  up 
by  the  01  iger  system's  faster  disk 
operation.  This  extra  speed  is  most 
not i cable  when  popping  in  screens  from 
disk,  MERGING  in  program  segments, 
bringing  in  data  files  from  disk  and 
saving  data  to  disk. 

The  OPTIMUM  disk  drive  situation  is 
TWO  drives.  One  drive  is  used  for 
DISCRETE  01 iger  DOS  use,  and  the  other  is 
for  DISCRETE  LKDOS  use.  Each  are 
"assigned  their  drive  number"  by  either 
programming  in  software  or  by  direct 
commands.  EXAMPLE:  LET/d=0  would  assign 
drive  zero  as  an  OLIGER  DISK.  AND- 


UPDATE  MAGAZI^E 


PRINT  m-.QO  TO  1  -  would  assign  disk  1  as 
a  LKDOS  disk.  From  then  on,  the  system 
"remembers",  and  a  LKDOS  disk  command 
automatically  accesses  DRIVE  1,  or  a 
01  iger  DISK  command  will  access  disk 
zero. 

But  that  sounds  like  we  have  two 
separate  disk  systems,  which  we  have-. 
We  can  load  and  operate  disks  that  have 
been  produced  by  anyone's  Larken  or 
01 iger  system.  And,  we  can  Format  and 
prepare  disks  in  either  Larken  or  01 iger 
disk  formats.  BUT,  we  also  have  a 
COMBINED  SYSTEM.  Programs  may  contain 
any  combination  of  DOS  commands.  Boot  a 
screen  in  from  the  01 iger  disk,  or  save  a 
file  to  the  Larken  disk.  Programs  that 
contain  BOTH  DOS  DISK  commands  may  be 
SAVED  to  either  disk.  AND,  the  operator 
does  not  even  need  to  think  about  which 
disk  will  be  operating.  A  Disk  Command 
in  the  software  will  automatically  use 
the  proper  disk,  as  designated  by  the 
previous  LET/d-  and  the  PRINT  #4: GO  TO. 

MAX  DOS  OF^ens  up  tremendous  power  for 
programmers  to  use,  employing  all  of  the 
command  functions  of  two  disk  operating 
systems  in  one  or  more  programs  to 
command  two  disk  drives.  The  software 
can  be  controlling  up  to  nearly  2  mega 
bytes  of  disk  capacity  (2  80  track 
drives) .  Good  planning  can  result  in 
"programs  in  one  disk  and  Data  in  the 
other  disk"  and  keeping  the  program  disk 
write  protected.  SO-  whether  MAX  DOS  is 
Larken  DOS,  or  SPDOS-  combined  with  the 
Oliser  system,  it  is  one  tremendous  Disk 
Operating  System.  All  we  need  is  for 
more  TS-2068  users  to  discover  this. 

THE  QL  DOS 

The  SINCLAIR  QL  DOS  is  excellent. 
Nobody  needs  to  feel  inferior  about  using 
the  QL.  I  look  at  it  this  way.  How  many 
IBM's  have  you  seen  that  have  a  pair  of 
additional  fast  tape  drives?  It  is  made 
even  more  powerful  by  the  BIG  Tool  kit 
functions  available  in  ROM  cartridges, 
TRUMP  CARD,  and  SANDY  BOARD.  Disk  Drive 
works  with  the  QL  with  nothing  more  than 
a  Controller  card,  same  as  any  other 
system,  but  it  is  less  expensive  than  any 
other.  Memory  expansion  is  also  less 
expensive.  Do  we  need  IBM  Compatability? 


UPDATE  NAGAZI^E 


5 


OCTOBER  1988 


TS-2068  and  SINCLAIR  QL 

ISSUE  DISKS  and  MICO  DRIVE  DUBBING 

The  Issue  Disk  program  for  the  TS-2068 
will  be  carried  on  for  support  of  the  QL 
users,  but  with  a  small  difference. 
TS-2068  programs  and  utilities  given  in  the 
UPDATE  pages  are  actual  listings  given  for 
those  who  want  to  try  keying  in  the 
listings.  Some  are  quite  long  and  keying 
in  may  not  be  very  practical.  Yet  they  are 
there  to  try.  QL  utilities  will  be  listed 
for  key-in  also.  But  the  software  programs 
for  the  QL  are  generally  just  too  long  for 
practical  key  in  projects  and  the  listings 
would  take  up  too  much  page  space.  These 
long  QL  programs  will  be  written  up  as 
"Mini  Manuals"  in  UPDATE.  Although,  this 
issue  has  one  complete  (but  short)  QL 
software  "Mail  Merge"  that  will  be  listed 
as  a  key  in  project.  So,  whether  the  QL 
programs  are  listed  or  not  will  be 
determined  by  their  program  length. 

The  ISSUE  DISK  for  the  TS-2068  programs 
will  include  all  of  the  software  and 
utilities  of  a  given  issue.  The  QL  Issue 
Disk  will  be  variable,  and  will  include  at 
least  one  major  software  and  the  utilities 
given  in  the  pages  of  the  current  issue. 
Sometimes  there  will  be  two  issue  disks  for 
the  QL  users  in  one  magazine  issue^  It 
just  depertds  upon  the  program  len^t  and 
applications  of  the  software. 

PRICING:  All  Issue  Disks  for  both 
computers  will  be  priced  at  $20,00.  This 
is  an  increase  of  $4.00  over  past  TS-2068 
disk  price  because  UPDATE  was  not  breaking 
even  at  $16.00  each.  UPDATE  supplies  the 
disks,  does  the  recordings,  pays  the 
mailing  expenses,  and  shares  half  of  the 
proceeds  of  issue  disk  sales  with  the 
authors  of  the  programs.  It  really  is  a 
non-profit  situation  for  the  magazine  and 
the  authors  don't  realize  more  than  a  token 
payment  for  their  support  of  us  all. 

MICRO  DRIVE  ISSUE  Recordings:  Due  to 
the  higher  price  of  the  cartridges  and 
their  scarcity,  UPDATE  will  provide  Issue 
Dubbing  service.  Those  who  want  the 
programs  and  utilities  may  send  in  a 
BIRMATM^  MEiV  Gai'tridge  ami  it  will  t«e 
returned  with  the  Issue  programs  recorded. 
"Formatted"  is  emphasised   because    if  the 


user  formats  the  cartridge  first,  he  is 
assured  that  the  cart  will  take  the 
programs  and  there  will  be  no  mail  delays. 
The  price  for  MDV  dubbing  will  be  the  same, 
$20.00  per  named  Issue  Disk. 

UNCONDITIONAL  GUARANTEE:  Subscribers 
may  be  sure  that  these  programs  on  disk  or 
mdv  are  worth  the  price  or  more.  If  not 
not  completely  satisfied,  the  user  may  keep 
the  disk  or  cartridge  and  just  ask  for  full 
refund.  Sometimes  a  software  program  may 
require  more  documentation  than  UPDATE  can 
accommodate  in  the  issue  pages.  PT^ER 
documentation  and  the  mailing  of  paper  is 
expensive,  and  the  author  may  need  to 
charge  extra  for  an  extensive  manual . 
These  instances  will  be  announced. 
Documentation  within  a  disk  or  micro  drive 
is  a  much  better  method,  where  text  can  be 
illustrated  with  screen  examples,  and  the 
text  sent  to  a  printer. 

COPYRIGHTS 

Unless  specifically  stated,  all  programs 
presented  in  UPDATE  magazine  are  the 
property  of  the  individual  authors  and  are 
protected  by  copyright.  The  authors  give 
their  limited  permission  for  publication  in 
UPDATE  Magazine  and  for  the  distribution  of 
recorded  copies  to  the  purchasers  of  the 
Issue  Disk  series.  No  other  sale  or 
transfer  of  these  programs  are  authorized 
by  anyone  or  any  other  publication.  Some 
Programs  and  utilities  may  be  donated  to 
public  domain  by  specific  statements  made 
by  the  author  within  the  text  of  the 
programs  presented  in  the  magazine.  In  the 
absence  of  such  statements,  the  programs 
are  privil edged. 

MICRO  DRIVE  V/S  DISK:  Both  mediums  are 
excellent.  A  huge  software  may  be  recorded 
on  disk,  but  to  use  micro  drive,  such  a 
program  would  need  to  be  broken  down  into 
several  individual  segments,  as  is  the  four 
PSION  sof wares.  By  the  same  token,  an 
un-expanded  QL  can  run  large  programs  that 
are  broken  down  in  "boot  in  segments". 
Most  large  programs  presented  in  UPDATE 
will  have  two  .versions,  one  for  disk  and 
another  for  micro  drive.  All  programs 
presented  will  work  on  standard  QL 
computers,  but  some  may  have  annexes  to 
expand  into  extra  memory. 


UPDATE  MAGAZIl^ 


6 


OCrOBER  1988 


OCTOBER  1988 


UPDATE  MAGAZIISE 


QL  SUPPORT  IN  THIS  ISSUE 

Remember  that  UPDATE  questionare?  Well, 
a  tabulation  reveals  much  about  the  QL 
user's  equipment  and  desires.  About  60%  of 
present  user  have  un-adomed  QL  computers- 
no  memor/  expansion,  and  micro  drive  only 
as  a  storage  device.  Ihe  other  40%  have 
disk  and  extra  memory.  Of  the  group,  about 
70%  say  that  they  need  beginner  level 
programming  information,  tips,  and 
utilities  to  use.  The  30%  minority  ask  for 
more  sophisticated  information  about  disk 
drive,  trump  card  tool  kit  programming, 
more  advanced  software,  conversion  of  IBM 
MS  DOS  software,  and  other  hi  brow  stuff. 
UPDATE  will  try  to  accommodate  all.  This 
issue  begins  a  feature  article  titled,. 
"THE  QL  BEGINNER  COURSE".  This  series  will 
go  on  "forever".  I  guarantee  that  it  will 
because  I'm  the  author.  If  you'll  follow 
this  series  you  will  learn  how  to  program 
the  QL,  and  how  to  get  the  most  out  of  the 
four  PSION  Softwares.  You'll  learn  it  as  I 
learn  it,  because  I  am  a  novice  on  the  QL. 
But  better  stay  up  with  each  issue  or 
you'll  get  behind!  I'm  a  mean  and  lean 
TS-2068  programmer  and  learning  the  QL  will 
come  naturally.  So,  start  with  me  in  this 
issue  and  progress  with  me. 

MEET  some  QL  Programmers 

Bill  Cable,  Wood  and  Wind  Computing, 
RR-2  Box  92,  Cornish,  NH  03745  (tel  603  675 
2218) .  I  lead  right  off  with  a  plug!  This 
is  because  I  want  you  to  know  Bill.  I  want 
you  to  know  all  of  our  supporters,  dealers, 
and  publishers.  Bill  Cable  is  one  of  them 
extraordinary  programmers  who  specializes. 
Bill  is  a  QL  dealer  who  developed  a 
customer  base  of  businesses,  selling  QL 
computers  to  medium  and  small  business 
people,  and  then  supportir^  them  with 
custom  software.  Needless  to  say,  his  feet 
were  cut  from  beneath  when  Sinclair  stopped 
prxDduction  and  support  of  the  QL.  I  am 
sure  that  all  QL  users  will  encourage  Bill 
Cable  to  turn  his  programming  efforts  to 
support  the  users.    This  issue  brings  in 

one  of  Bill's  outstanding  softwares, 
titled  "REFIELD".  This  software  is 
designed  to  augument  the  PSION  ARCHIVE  to 
make  it  infinitely  more  flexible  and 
powerful.  REFIELD  is  presented  in  versions 
for  both  Floppy  disk  and  for  Micro  Drive, 
and  will  occupy   one    of    the    two  October 


Issue  Disks.  REFIELD  will  also  be  offered 
for  Micro  Drive  Dubbing.  See  the  last  page 
of  this  issue  for  details. 

NE)Cr,  another  well  known  author  and 
programmer  has  invaded  the  QL  Group.  Bob 
Hariiung  has  been  a  regular  writer  and 
programmer  for  UPDATE  since  it's  first 
issue,  but  doing  TS-2068  articles.  Bob 
continues  to  write  and  program  for  the 
TB-2068  while  producing  for  the  QL  as  well. 
Thats  kinda  like  alternating  between  both 
seats  of  a  bicycle  built  for  two  while  its 
rolling  downhill.  Now  get  this!  Bob's 
"QL  ADDRESS  FILE"  software,  given  in  this 
issue,  is  designed  so  that  it  works  in 
three  different  computers,  the  QL,  the 
TS-2068,  and  with  Beta  Basic  in  the 
Spectrum.  QL  Address  File  is  designed  as  a 
simple  program  that  works  independently, 
and  is  an  excellent  one  to  tackle  as  a 
key-in  project.  Whatever,  this  one  will 
also  be  offered  on  disk  and  for  micro  drive 
dubbing.  See  the  last  page  for  ordering 
information. 

BOB  DIGGS  KV3Q,  a  HAM  Radio  Operator, 
has  been  tackling  the  QL  and  its  problems 
associated  with  Telecomputing,  only  on  a 
little  different  tack,  with  PACKET.  This 
gave  me  a  chance  to  open  up  the  subject, 
"Telecomputing".  Hope  others  join  in  to 
cover  Telecomputing  in  detail. 

Finally,  several  re-prints  of  QL 
articles  from  the  various  Sinclair  User 
Clubs  are  given  in  this  issue.  One  of  the 
very  best  paths  to  learning  computers  is  to 
join  a  User  Club,  and  participate.  This 
way,  one  meets  folks  who  have  like 
interests  in  computing.  Friendships  are 
formed  and  telephone  numbers  exchanged  so 
that  help  is  but  a  few  feet  away  at  your 
telephone.  Some  travel  over  a  hundred 
miles  one  way  to  attend  User  Group  Club 
meetings  and  benefit  greatly  from  the 
association.  The  idea  is  to  form  a 
"special  interest  group"  of  QL  users  within 
the  special  interest  Sinclair  Club.  Then 
you  get  together  and  exchange  infomation 
and  tips,  swap  public  domain  software,  and 
copy  programs  from  the  club  library.  This 
issue  brings  information  about  several  live 
wire  clubs,  and  samples  some  of  their 
newletter  articles.  If  there  is  not  a  club 
listed  near  to  your  home,  call  me  and  I'll 
put  you  in  touch  with  one. 


UPDATE  MAGAZIbE 


7 


OCTOBER  1988 


SINCUS  PROGRAMS 

Time  Designs  did  the  Timex  Sinclair  users 
an  excellent  service  by  producing  an  up  to  date 
listing  of  all  Sinclair  Timex  Clubs,  listing  all 
Club  publications,  and  rating  them  on  a  scale  of 
from  1  downward.  SINCUS  NEWS,  1229  Rhodes  Road, 
Jol-nson  City,  NY  13790  copped  FIRST  PLACE. 
Subscription  is  $8.00  per  year  (underpriced). 
SINCUS  provides  more  service  to  both  members  and 
non  members  than  just  a  good  newsletter.  See 
clips  below. 


SINCUS  OFFERENSS; 

RENEW  or  Subscribe  to  SINCUS  NEWS  for 
$8  per  year.  Send  in  a  Mailing  label  of 
either  UPDATE,  Time  Designs,  or  Syncware 
news  and  receive  and  extra  issue  of  Sincus 
News  FREE,  added  to  your  subscription. 
(Offer  ends  12-31-88) 

SINCUS  TAPE/DISK  LIBRARY:  Write  for 
details  (An  OUISIANDItG  BARGAIhJ-  UPDATE 
RECOMMENDS I  ed) 

SINCUS  "Computus  Interruptus"-  a  63 
page  programming  manual  by  Wes  Brzozowski. 
(UPDATE  rates  this  as  EXCELLENT)  Comes  in 
two  forms-  a  paper  manual  for  $10  member  or 
$12  non  member  of  SINCUS.  or,  a  disk  in  40 
or  80  track  Oliger  or  Larken  Format-  $5 
member,  or  $6  non  men±)er  of  Sincus. 

SINCUS  CLONE:-  TS-2068  tape  copier-  $6 
for  tape  and  documentation. 


The  SEP/Od  issue  of  SINCUS  NEWS  is  in  and 
contains  some  very  interesting  stuffin.  The 
Editor  gave  UPDATE  MAGAZItE  some  very 
appreciated  praise,  for  which  I  thank  him  for 
profusely.  BUT-  he  didn't  get  everything  rightl 
He  said  tliat  UPDATE  is  "virtually  a  one  man 
show".  Actually,  about  75%  of  the  red  meat 
pages  in  UPDATE  is  contributed  by  GUEST  WRITERS. 
(Count  uml)  The  Editor  does  a  few  new  utilities 
and  rambles  on  in  editorials  to  give  the  UPDATE 
its  personality. 

Without  the  generous  participation  of 
expert  writers,  UPDATE  would  be  just  a  little 
nothing  newsletter.  The  editor  realizes  that 
some  folks  just  don't  like  OPINIONS  expressed  in 
editorials,  so  pages  are  piled  on  to  make  up  for 
editorial  verbosity.  So,  Paul,  Thanks,  but 
stand  corrected.  UPDATE  is  a  "participating" 
magazine,  and  owes  its  reputation  to  the  writers 
of  fine  articles,  programs,  and  utilities. 


The  North  American  Sinclair  Society 

Now  to  slip  out  of  the  third  person:  Paul 
Hill,  editor  of  Sincus  News,  has  some  darn  good 
ideas  about  consolodation  of  publishing  efforts 
into  ONE  MONTHLY  Magazine  which  would  enconpass 
all  existing  publications  and  all  Qub 
Newsletters.  It's  a  good  idea,  Paul.  What  is 
lacking  is  "Management  Control",  so  that  such  a 
publication  would  not  become  a  "Sinclair 
publishing  monopoly",  setting  advertising  rates 
up  to  unfair  prices,  and  reducing  page  (red 
meat)  content  down  to  minimal  in  order  to  make 
higher  profits.  But  still,  it  is  a  good  idea  to 
pursue,  I  would  invision  a  Sinclair  Timex 
publication  that  would  be  managed  and  controlled 
"by  the  user  group". 

WHAT  USER  GROUP?  There  is  no  organized 
user  group.  ENTER  "The  North  American  Sinclair 
Society",  or  some  such  named  organization.  The 
Florida  Groups  coined  "SNUG"  which  everyone  has 
trouble  breaking  down  into  prose.  But  WHATEVER, 
we  need  a  PARENT  ORGANIZATION  of  Sinclair  Timex 
user  groups  of  North  America.  ONLY  When  such  a 
parent  group  is  formed  can  there  be  concerted 
effort  to  do  things  for  the  good  of  all.  This, 
I  believe  is  where  all  of  the  present  User  Group 
officials  should  be  working  and  coordinating.  A 
North  American  Group  wont  be  formed  without  such 
coordination   amongst  the  existing  strong  clubs. 

I  cannot  form  a  North  American  Group. 
Neither  can  Tim  Woods,  or  the  other  publishers. 
We  do  not  represent  anyone.  But,  we  stand  by  to 
lend  our  support.  You  present  officials  of 
Clubs  DO  represent  people.  Why  dont  you 
establish  direct  coordination  between  Clubs  and 
form  the  North  American  Group?  Vote  in  a 
management  board  of  officers  who  will  operate  as 
a  Senate  to  form  up  the  charter  and  by-laws. 
Use  the  existing  publications  as  tools  for 
publicity  membership  drive,  and  COMMIT  your  owi 
club  ment)ers  en-mass  to  become  mendbers  of  the 
North  American  Group. 

THEN,  wlien  the  North  American  Group  is 
fully  formed  and  has  establised  a  sense  of 
directions,  it  will  be  time  to  explore  the  idea 
of  a  Single  Publication,  of  ample  size,  to 
become  the  voice  of  Sinclair  Timex  Conputing  in 
North  America.  Membership  in  the  Parent  Group 
should  carry  with  it  a  subscription  to  the  Group 
publication.  UPDATE  Magazine  will  cooperate  if 
the  interests  of  the  subscribers  are  guaranteed 
to  be  fulfilled.  So  there  you  are.  A  gauntlet 
has  been  thrown  to  the  Officials  of  our  current 
Sinclair  Timex  Qute.  Who  will  accept  tlie 
challange  and       assume       leadership  for 

coordination?    Its  your  move  now. 


8 


UPDATE. MAGAZIhE 


OCTOBER  T988 


OCrCBSR  19  BB 


JPDATE  MAGAZI.MB 


EARL  V  DUNNINGTON 
4356  KING  THEODORE  DR. 
BOYNTON  BCH. ,  FL  33436 
PHONE  .4^7732-6219 


A    SCREEEIM     COPY     1 IM    RUL.L.     COLOR    AMD  MORE! 


A  REVIEW  BY  EARL  DUNNINGTON 

John  McNichael  has  done  it  again!  That 
is  improvecJ  the  capability  of  our  2068* s  by 
developing  software  that  will  make  a  fuU 
color  or  black  and  white  screen  COPYi  when 
used  with  his  interface*  the  OKIMATE  20 
color  printer*  atid  the  Okimate  Caminadare 
Plug  and  Print  nodule. 

He  has  also  developed  two  other  pro-* 
grams  for  this  hardware.  A  Patch  for  Jack 
Dohnay's  MSCRIPT  revisions  V5/V5.2  and  a 
machine  code  OK I -DRIVER  program  that 
supports  the  LLIST  and  LPRINT  commands. 
Each  program  is  on  a  separate  tape  and  were 
*  8.95  each. 

The  Screen  Copy  program  requires  that 
the  screen  be  saved  on  tape  with  the  SAVE 
"name"  SCREEN*  command  or  the  equivalent 
SAVE  "name"  CODE  163B4i6912  command.  The 
options  allow  you  to  specify  color  or  black 
and  whitet  small  or  large  sizev  the 
horizontal  position  on  the  paper,  and  the 
number  of  copies  to  be  made.  After  the 
specified  number  of  copies  has  been  madei 
you  can  again  enter  your  choice  of  options 
and  either  use  the  same  screen  or  load  a 
new  one.  The  small  size  produces  a  screen 
copy  1.55"  by  1.25".  The  large  size  is 
3.15"  by  2.55".  Approximately  30  copies 
can  be  made  with  each  Color  Ribbon  - 
($  5.65)  using  the  large  size. 

The  black  and  white  screen  copy  using 
the  black  ribbon  is  much  darker  than  that 
produced  by  the  2040  printer.  Howeveri 
there  is  no  shading  for  the  different 
colors  like  that  produced  by  Zebra's 
Z~PRINT  80  or  like  a  color  screen  viewed  on 
a  green  screen  monitor.  Due  to  this  the 
color  copy  is  a  vast  improvement,  even 
though  a  large  block  of  paper  color  only 
characters  reproduces  somewhat  unevenly, 
the  colors  being  slightly  darker  along  the 
horizontal  Juncture  of  each  character  line 
with  another.  The  individual  pixels  are  not 
apparent  to  the  naked  eye.  For  testing,  I 
used  the  third  color  screen  from  Knighted 
Computers  "NISHT  GUNNER"  (c)  Digital 
Integration.  It  has  the  following  colorst 
white,  black,  green,  yellow,  blue,  cyan, 
and  red.  I  consider  the  rendition  of  the 
ink  colors,  excellent.  The  instructions  are 


also  excellent. 

As  I  do  not  have  Jack  Dohany's  revised 
versions  of  MSCRIPT,  I  can  not  comment  on 
the  Patch  program,  other  than  the 
instructions  seem  very  complete. 

Thti  OKI-DRIVER  program  is  strictly 
machine  code.  It  loads  in  starting  at 
address  64874  and  id  494  bytes  in  length* 
The  program    is  compatable  with  the  Larken 
DOS  V3  and  the  Larken  256K  RAM  DISK.  It  is 
also  compatable  with  the  Zebra  FDD  3000 
with  TOS.  As  written  the  code  is  not  re- 
locatable and  therefor  is  not  compatable 
with  the  Zebra  OS-64  cartridge  or  any  other 
program  using  two  display  files.  In 
addition  to  supporting  LLIST  and  LPRINT 
there  are  options  for  sending  printer 
control  codes  with  support  for  LPRINT  only, 
switch  the  character  transposition  off, 
and  switch  backand  forth  from  the  big 
printer  to  the  2040.  If  the  2040  is  also 
connected  you  can  always  use  COPY.  The 
options  and  switches  are  made  using  RAND 
USR  commands.  There  are  eight  2068 
character  codes  that  will  print  as 
Commadore  characters* 

92  Always 

95  Always 

96  "A 1 nays 

123  Alirays 

124  In  printer  control  code  mode 

125  Always 

126  In  printer  control  code  mode 

127  Always 

The  instructions  for  using  the  program  are 
excellent  and  quite  complete.  The  utility 
of  the  program  would  be  greatly  enhanced  by 
fronting  the  code  with  a  BASIC  loader  and 
code  mover  program  to  adjust  the  internal 
Jumps  and  the  calls  to  any  location 
desired. 

The  McMichael  interface  emulates  a 
Commadore  serial  port.  It  was  originally 
developed  for  use  with  the  2068  and  the 
Commadore  four  color  pen  1520  plotter.  The 
interface  can  be  purchased  as  bare  board 
($14),  a  kit  with  all  parts  ($20),  or 
assembled  ($30).  I  ordered  the  kit.  As  I  do 
not  have  the  Oliger  expansion  board,  I  also 


9 


riPDATF  MAfiAZTNF. 


OCTOBER  1988 


OCTOBER  1988 


UPDATE  MAGAZINE 


ordered  the  edge  connector  ($4.95).  The 
documentation  is  excellent  and  I  had  no 
difficulty  in  assembly.  Do  not  worry  if  you 
think  you  may  have  a  solder  bridge  between 
pins  8  and  9  of  U3.  They  are  supposed  to  be 
connected. 

The  OK I MATE  20  ($136)  is  an  SO  column 
"State  of  the  Art"i  square  24  pint  NLCl» 
dot  matrixi  thermal  color  printer.  It  uses 
color  or  black  thermal  ribbon  cassettes. 
Thermal  paper  without  a  ribbon  cassette  can 
also  be  used  (4-80  foot  rolls  $16).  The 
footprint  is  about  13"  x  7"  and  is  about 
2"  high.  A  tractor  is  built  in  for  paper 
with  sprocket  holes.  Single  sheets  can  also 
be  used.  A  serrated  plastic  edge  is  built 
in  for  tearing  roll  thermal  paper.  The 
pr inthead  is  removable  for  cleaning  or  re- 
placement ($21.95)  by  the  owner.  The  over- 
all quality  of  construction  appears  to  be 
excellent  and  it  is  very  quiet  when  print- 
ing. There  are  printer  control  codes  for 
draft  qualityi  character  size  (Picat  Elitei 
Finei  double  width) «  Italicsi  Super  and 
Subscripts*  underliningi  reverse  printingi 
form  feedi  carriage  returni  line  spacingi 
starting  position^  skip  over  perforationsj 
and  graphic  modes. 

The  printer  documentation,  registra- 
tion formt  a  color  ribbon  cassette*  a  black 
ribbon  cassettet  computer  paper i  a  order 
form  for  suppliesi  and  the  plug  in  printer 
module  are  all  contained  in  the  Okimate 
Commadore  Plug  and  PrinT  package  ($79.95). 
Dip  switches  in  the  module  allow  you  to  use 
different  international  character  sets. 

I  consider  thisi  for  the  price  (total 
about  $270)  one  of  the  best  full  size 
printer  systems  available  for  the  2068.  It 
could  be  improved  by  a  color  screen  program 
that  would  produce  a  printout  twice  the 
present  large  size.  The  prices  quoted  are 
approximate. 

The  OKIIiATE  20  and  the  Commadore  Plug 
and  Print  module  can  be  purchased  at  TOYS  R 
USi  Service  tlerchandisei  and  Sears.  Some 
mail  order  computer  supply  houses  also 
carry  them.  Check  the  ads  in  Commadore 
magazinesi  Compute,  and  the  Computer 
Shopper. 

Send  a  legal  size  SASE  to: 

John  McMichael,  1710  Palmer  Dr.,  Laramie 

WY  82070 

for  an  order  form  and  price  list.  If  you 
enclose  one  dollar  he  will  also  send  a 
sample  color  screen  copy. 

UPDATE  MAGAZINE 


1  NIGHT  1 

1  GUNNER 

''6  BY  ;g 

)0  (|>   DIQITfiL    IHTEORRTION  1983 


NIGHT   GUNNER    IS  LORDING 


Editor's  note:  7Wo  screen  copies  were  supplied,  one 
a  B&ff  and  another  in  full  color.  These  are  reproduced 
below  if  full  size.  Unfortunate  a  B&W  copy  cannot  do 
Justice  to  the  color  screen  so  I  will  describe  it.  The 
large  print  "NIGHT  GUNNER'  is  in  Cyanide  on  a  bright 
red  background.  The  smaller  print  below  is  white,  as 
is  the  fancy  border.  The  two  bombers  and  ships  below 
are  in  bright  yellow  on  a  blue  background.  The  knight 
with  pointed  rapier  is  sketched  in  white.  "Night  gunner 
is  loading"  is  black  print  with  green  backgrxjund.  The 
colors  and  contrast  are  vivid,  about  what  you  would  see 
on  screen,  but  with  with  no  gaps  between  drawn  pixel 
lines.  Focus  is  sharper  than  a  screen  image.  "NIGHT 
GUNNER'  stands  out  on  its  background  in  a  way  that 
looks  three  dimensional.  This  is  the  same  size  screen 
copy  as  we  are  used  to  with  other  softwares.  I  would 
suspect  that  if  the  printer  could  be  put  into  an 
expanded  mode  that  the  print  out  would  cover  a  larger 
area,  as  does  other  screen  dumps.  Only  one  gripe  and 
thats  against  Digital  Integration,-  "mat  respectable 
Air  Force  paints  their  aircraft  YELLOff?' 


10 


OdCBER  1988 


UPDATE  MAGAZINE 


THE  ROUND  UP 

AN  UPDATE  PR0GRAMP1IN3  TUTCRIAL 

This  is  a  program  designed  for  UPDATE 
to  demonstrate  several  abilities  of  dealing 
with  numbers.  FIRST,  the  "INT"  function 
"ROUNDS  DCWN"  figures.  All  businesses  do 
the  opposite,  ROUNDING  UP  to  the  nearest 
cent.  This  can  make  a  busy  department  store 
quite  a  few  dollars  during  a  day's  ope^tion. 

Next,  PRINT  USIN3  is  a  RON  routine  used 
with  some  computers  to  "Format  a  Column  of 
Figures".  Mr.  Sinclair  left  PRINT  USIN3  out 
of  his  Sinclair  Basic  ROM.  But  anything 
that  a  ROM  routine  can  do  can  also  be  done 
by  programming  in  RAM.  Here  we  use  a  little 
routine  that  simulates  a  PRINT  USIN3 
function  to  print  the  dollar  sign,  then 
print  a  column  of  figures  with  decimal 
points  aligned.  Also,  Zeroes  are  added  when 
necessary. 

The  use  of  INT  (INTEGER)  in  math 
calculations  to  assign  the  resultant  to  a 
variable  causes  errors.  The  error  is  only 
in  the  assignment  to  the  variable.  The 
"Floating  Point  Calculation"  has  the  right 
value  "in  there  somewhere",  but  a  small 
fraction  is  lost  when  INT  is  used  in  a 
calculation.  EXAMPLE:  try  this  group  of 
direct  commands:  <IJST  a-  1.0954><tJET  b=INT 
a>  <IJST  c=INr  ( 100000*  (a-b))  >  <PRINT  c>. 
Floating  point  calc  drops  a  tiny  fraction 
that  can  be  troublesome.  LINE  number  9710 
uses  a  litae  "floating  point  k  factor"  of 
.0001  and  then  adds  .005  for  "rounding  up" 
to  the  nearest  cent. 

Line  9712  adds  a  whole  number  if  a 
round-up  changes  99  cents  to  $1.00.  Then 
the  integer  number  and  the  decimal  fraction 
are  assigned  to  a$  and  b$  for  printing. 
This  is  because  the  TS-2068  prints  decimal 
numbers  as  "0.4",  "0.25",  which  is  not 
convenient  to  print  directly.  The  "SIR$" 
function  transfers  a  numeric  value  into  a 
literal  value  to  place  in  a  string.  Try 
this  EXAMPLE:  <I£T  a=12>  <LET  a$=SIR$ 
aXFRINT  a$>.  Amazing,  eh?  Now  lets  go  the 
opposite  way:  <IET  a$="386"><I£T  a=VAL 
a$><PRINT  a>.  Stupendous! !  Mess  around 
this  way  with  SIR$  and  VAL,  and  you'll  get 
good  at  using  numbers  in  both  sinple 
variables  and  in  string  variables. 

Next,  line  9718  does  a  bit  of  "String 
Slicing".     Some  of  the  odd  presentations  of 


fractions  may  result  in  B$  being  ".020".  To 
just  present  "cents",  we  chop  off  ths  last 
"0".  Lets  try  that  separately  now:  <LET 
b$=".020><PRINr  b$(  TO  3)  >.  Or:  <£JET 
b$=b${  TO  3)  XPRINT  b$>.  Try  several  other 
examples  like:  <LET  b$="I  LOVE  THIS"><PRINr 
b$><IJST  b$=b$(  TO  6)  XPRINT  B$>. 

Next,  line  9720  "sums"  the  figures,  but 
only  IF  x=l.  In  the  beginning  we  LET  x=0. 
So,  each  input  figure  is  summed  as  they  are 
typed  in.  When  we  want  to  present  the  sum, 
we  type  "s"  instead  of  a  number.  Back  at 
line  9700,  the  input  of  "s"  instead  of  a 
number  gives  us  an  error  (unless  variable  s 
has  been  assigned  a  number).  The  error 
trips  the  first  ON  ERR  GO  TO  9800.  Then  at 
line  9800,  the  ERR  is  RESET,  a  line  is 
drawn,  and  a  dollar  mark  is  printed.  Then 
the  GO  TO  9710  processes  the  SUM  to  be 
printed. 

Finally,  line  9770  prints  the  figures, 
with  all  decimals  aligned  at  your  TAB 
setting.  A$  carries  the  WHOLE  dollar  value 
and  B$  carries  the  CENT  value.  Then  line 
9780  stops  if  the  SUM  has  printed  (x«l),  or 
line  9790  returns  to  pick  up  the  next  input . 
number.  ONE    MCRE   line    needs    to  be 

discussed.  LItE  9700  has  a  second  <0N  ERR 
GO  TO  9706>,  which  is  the  next  line  in  the 
program.  "STOP"  creates  the  error  so  that 
the  ON  ERR  programming  is  cancelled  (no  open 
ON  ERR  to  mess  you  up  later), 
I 

Now  thats  a  lot  of  programming 
functions  in  a  few  short  BASIC  lines,  and 
likely  less  memory  is  used  than  if  Sinclair 
had  put  the  routines  in  ROM  and  given  us  a 
PRINT  USIN3  syntax  to  use.  And,  because  it 
is  in  BASIC  programming  in  RAM,  we  can  alter 
it  as  needed  to  tailor  the  routine  to  our 
needs.  There  are  many  ways  you  can  modify 
this  utility  to  use  as  a  SUB-ROUTI^E  in  your 
programs.  Change  PRINT  to  LFRINT  in  line 
9790  to  put  it  on  paper.  But  if  you  just 
want  a  "Column  Adder",  use  it  the  way  it  is. 

'  9680>REM  [  THE  ROUNEHUP  ] 
[  Summing  of  Columns  ] 
[  PSBUDO  PRINT  USIN3  ] 
9690  CLS  :  LET  x=0:  LET  t=0:  LET 
tb«25: 

REM  [  variables  are  "t=Total. 
tb=tab.    x=switch  that 
turns  on  by  ERROR  for 
totalling.  ] 

9691 


UPDATE  MAGAZI^E 


11 


OCTCBER  1988 


OCTOBER  1988 


9692  REM  [  Lines  through  9700 
may  be  eliminated. 
Then  the  input  to 
the  routine  would 
be  numbers  assigned 
to  varable  a. 

9694  REM  [  The  Routine  end  is 
line  9780.  Change 
line  9780  to  RETURN 
for  Sub-routine  use. 

9697  REM 

9700  ON  ERR  GO  TO  9800:  INPUT  "K 
ey  in  NuiriDer-  or  ""s""  for  SUM 

"tat  ON  ERR  GO  TO  9706:  STOP 
9706  ON  ERR  RESET  s  IF  t=0  THEN 
PRINT  TAB  tb-5;"$"; 
9710  LET  b^IMT  a:  LETT  c^INT  (100 
*(a-b+.0001+.005)):  LET  d«c/100 
9712  IP  c>99  THEN  LET  b«bfl:  LEI 

c=0:  LET  b$a''.00'' 
9714  IF  c>=0  AND  c<10  THEN  LET  b 
$=".0"+SIK$  c 

9716  IP  c>9  THEN  LET  b$*".''+SIR$ 
cf"0" 

9718  LET  a$=STR$  b:  IF  LEN  b$>3 

THEN  LET  b$*b$(  TO  3) 

9720  IP  x=0  IHBN  LET  t*t+b+(c/10 

0) 

9770  PRINT  TAB  tb-LEN  a$ya$;b$ 
9780  IF  x^l  THEN  LET  x«0:  STOP 
9790  00  TO  9700 

9800  ON  ERR  RESET  :  PRINT  TAB  tb 

-4;"  "'TAB  tb-6;"$";.:  LET 

x=l:  LET  a«t:  00  TO  9710 


;azine 


UPDATE  October  1988 
Sinclair  Z88 


Ihis  is  really  a  CLUB  Issue  of  UPDATE 

If  the  reader  has  concluded  that  UPDATE  is  plaggerizing 
and  stealing  articles  for  the  various  Club  newsletters, 
then  the  objective  is  missed  completely.  The  reason  for 
the  selected  re-prints  is  to  give  samples  of  the  excellent 
material  that  is  produced  in  these  excellent  club 
publications.  So,  you  get  two  benefits  from  these  club 
articles.  First,  you  get  the  good  articles  to  digest. 
Second,  you  get  a  chance  to  savor  the  personality  of  the 
clubs  and  the  quality  to  expect  in  club  publications. 
Then,  of  course,  you  get  the  address  to  use  to  JOIN  the 
club  or  Subscribe  to  their  newsletter.  Actually  UPDATE 
has  a  baric  of  excellent  NEW  articles  about  the  TS-2068  and 
the  QL,  enough  to  fill  at  least  the  next  five  issues.  Ihe 
Sinclair  user  groups  need  an  influx  of  new  members  to 
spark  new  life  and  direction.  Especially,  the  clubs  need 
QL  and  TS-2068  members  to  join  and  form  a  special  interest 
group  within  the  existing  Sinclair  special  interest  Club. 
This  is  UPDATE"S  way  of  helping  to  round  up  new  members  of 
the  Sinclair  User  Clubs.  Unfortunately,  space  does  not 
permit  the  introduction  of  all  clubs  in  one  issue,  tut 
we'll  get  rountuit  in  future  issues. 

***    THE  SINCLAIR  Z88  "lap  top"  OOMPUTEK  *** 

So  far  as  I  can  tell,  there  are  only  praise  and 
enthusiasm  ceding  from  the  owners  of  the  Sinclair  Z88. 
Frankly,  I  dont  like  the  term  "lap  top",  as  it  seems  to 
have  a  connotation  of  "tinker  toy"  which  demeans  the 
extraordinary  capabilities  of  the  Z68.  Lap  tops  come  in 
many  varities  of  both  size  and  price.  Last  week  I  looked 
at  a  Mitchubitchi  lap  top  which  comes  in  at  a  measly 
$4999.99  unit  price.  Then  there  are  earlier  lap  tops 
which   didn't  sell  like  hot  cakes  and  are  now  priced  below 


$500.00.    (Read  "not  designed  to  user  needs") . 

We  have  several  subscribers  to  UPDATE  who  already  have  the  and  I  f^P^^.^^^^^^^^^^;^^^ 
be  many  more  on  December  26.  Why  not,  the  Z88  will  fit  into  a  Christmas  stocking!  Mike  Fink,  a 
s^ib^^  a  Z88  Dealer,  has  just  about  finished  a  new  "Z88  Instructional  Manual"  which  wil 

no  T  Mirt  Mike  Fink  is  an  enthusiastic  Z88  Dealer,  so  we  cannot  exactly  call  him  un-biased. 
UPdJ?E   w^c^ef  ^  ;m%S?is^^^  the  Sinclair  Z88  FH^  AN  OWNO^  ONLY.  We 

to  know  fro.  the  ho^s^'s  mcxith  mor^  alxxxt  this  new  Sinclair  pr^uct  whethe^^^^  isworth 
its  price,  and  an  evaluation  of  its  operation.  Only  an  owner  who  has  operated  the  Z88  for 
seveS^ntte  can  prxwide  such  a  comprehensive  review.  How  about  you  Z88  owners  telling  us 
about  this  new  computer? 


(Mike  Fink,  355  if.  39th  St.,  NY,  NT  10018-1401  ) 


12 


UHDATE  MAGAZItE 


OCrCBER  1988 


OCTOBER  1988 


UPDATE  MAGAZINE 


LETTERS:     Just  had  to  shoM  you.  this  one   (reduced  50%). 


AAAAAAAAAAAAAAAAAA 

1 

1 


i 
1 


i 

1 

i 
1 


YOU 

MONACOIj^ 


}n  t,  Urtttr 
If  ST  I.  5m  U. 

Sill9 


§  W<nJl      /riyU^  l/Ti^ 

30c 

i  9- 


USING     THE    OS  — <£>-£h     CARTRIDGE    WITH  TOS 


At  no  time  should  the  TOS  copyright 
notice  remain  displayed)  otherwise  you  are 
not  properly  booted  up. 

BOOTING  UP 

1.  With  the  computer  and  drives  off» 
insert  OS-64  cartridge  in  the  2068  car- 
tridge port. 

2.  Turn  on  computer.  The  screen  will 
clear  and  then  display  the  OS-64  copyright 
notices. 

3.  Power  up  the  drives  and  then  insert 
the  TOS  DEMO  disk  in  DRIVE  A.  The  drive 
light  will  flicker  as  the  disk  is  read.  The 
OS-64  copyright  notice  will  remain  display- 
ed. 

4.  When  the  light  stops  flickering) 
type  in  the  CAT*  command  and  press  ENTER. 

You  are  now  booted  up  in  TOS  with  a  64 
column  screen.  The  DICE  game  must  be 
revised  for  a  64  column  screen. 

REBOOTING 

1.  With  a  TOS  disk  only  in  drive  A) 
while  pressing  and  holding  the  red  reset 
button  on  the  drivesi  pressand  release  the 
grey  reset  button  on  the  interface. 

2.  Release  the  red  button  after  the 
screen  clears  and  the  OS-64  copyright 
appears  on  the  screen. 


3.  The  drive  light  will  flicker  as  the 
disk  is  read. 

4.  When  the  drive  light  stops  flicker- 
ing, type  in  CAT*  command  and  press  ENTER. 

TO  TURN  OFF  THE  SYSTEM 

1.  Remove  disks  from  both  drives. 

2.  Turn  off  the  disk  drive -power 

3.  Then  and  only  then  turn  off  the 
computer,  otherwise  you  may  damage  either 
the  disks  or  the  drives. 


EARL  V  DUNNINGTON 
4356  KING  THEODORE  DR. 
BOYNTON  BCH. ,  FL  33436 
PHONE  305-732-6219 

Hen 


13 

UPDATE  MAGAZItE  OCTCBER  1988 


OCTOBER  1988 


UPDATE  MAGAZINE 


<0N  ERR>  Programming 

A  person  whom  I'd  never  heard  of  sent  me 
a  cassette,  saying  that  it  contained  an 
important  program  that  "hangs  up  every  time 
it  is  loaded".  I  loaded  the  program  and  sure 
enough  it  did  hang  up.  A  touch  of  the  NME 
button  on  the  Oliger  DOS  board  gave  me  "O.K" 
at  the  screen  bottom.  Then  LIST  put  the 
listing  on  screen  where  I  discovered  <QN  ERR 
QONriNUE>  in  the  first  program  line.  I 
EDITed  the  line  and  removed  the  ON  ERR,  then 
found  a  subscript  error  in  a  following 
program  line.  The  moral  of  this  story  is 
that  if  you  use  <0N  ERR  OOMriNUE>  you'd 
better  have  every  conceivable  error 
eliminated.  I  returned  the  cassette  with  the 
ON  ERR  removed  and  the  program  re-saved,  with 
expanations,  never  to  hear  from  my  pen  pal 
again-  no  thanks,  no  nuttings.  AND,  I  paid 
the  postage.  The  morale  of  that  story  is,  if 
you  ask  someone  to  do  something  for  you  and 
he  does  it,  you  should  thank  him. 

The  TS-2068  "Remembers  ON  ERR"  and  the 
line  number  in  an  ON  ERR  statement  "well 
after"  the  program  line  that  contains  the  <0N 
ERR  GO  T0>  statement  has  been  executed.  Then 
the  first  error  condition  forces  the 
abandonment  of  sequential  line  read,  and  the 
line  that  is  designated  in  the  ON  ERR 
statement  is  executed.  Therefore,  if  you  use 
<0N  ERR  GO  TO  line>,  it  is  best  to  terminate 
the  ON  EE?R  "whether  an  error  exists  or  not". 
Oie  DOS  (AEROO  FD-68)  will  carry  forward  a  ON 
ERR  condition  when  a  new  Basic  Program  is 
loaded  without  a  computer  reset.  This  can 
cause  the  next  program  loaded  to  give  you  an 
unpleasant  suprise. 

ON  EE?R  programming  can  let  the 
programmer  do  many  things  that  cannot  be 
achieved  by  any  other  means.  But  it  is  not 
good  programming  technique  to  leave  a  ON  ERR 
condition  dangling.  1*11  give  a  couple  of 
examples  that  can  be  modified  and  used  in 
different  ways.  First,  the  cure  for  the  FD-68 
programs  that  may  be  loaded  during  a  ON  ERR 
condition  in  a  preceeding  program. 


5  REM  **  RESET  a  ON  ERR 
10  ON  ERR  GO  TO  9000:  STOP 
20  STOP  :  REM  **Line  to  begin 

your  programming. 

9000  ON  ERR  RESET  :  GO  TO  20 


Let   your  auto  run  line  be  line  10.  The 


ON  ERR  changes  any  existing  ON  ERR 
programming  to  line  9000,  and  then  the  STOP 
forces  line  9000  to  execute,  where  the  ON  ERR 
is  cleared  with  RESET.  Then  your  first  real 
programming  can  begin  at  line  20. 

The  next  illustration  is  more  complex. 
Here  we  use  ON  ERR  almost  as  we  would  use  <IF 
IHEN>.  Say  you  need  to  present  on  screen  the 
"status  of  a  data  base"  contained  in  a 
character  array  "0$()",  A  subscript  error 
would  occur  if  0$  were  not  dimensioned.  Then 
you  may  want  to  know  the  actual  Dimension  of 
0$  array.  Then  you  may  also  want  to  know  the 
last  "cell  of  0$"  that  contains  data  (not 
empty  spaces).  We  will  use  ON  ERR  within 
counters  to  do  that  in  the  following 
subroutine. 


5  REM  **  Use  ON  ERR  to  find 
the  Dimension  of  a  CHR$  Array. 

10  LET  a=500:  FOR  n=l  TO  a:  ON 
ERR  GO  TO  9000:  LET  b=LEN  o$(n) 
:  NEXT  n 

20  CLS  :  STOP  :  REM  **Line  to 
begin  your  Basic  programming. 
9000  ON  ERR  REOT  :  IF  n<2  THEN 
PRINT  "0$  is  not  Dimensioned." 
9005  IF  n>2  THEN  PRINT  "The  Dime 
nsion  of  0$  is>  ";  FLASH  1;"0$(" 
;n-l7")"" 

9010  IF  n>l  THEN  FOR  n=l  TO  n-1: 
ON  ERR  GO  TO  9020:  IF  0$(n)(l)  = 
"  "  THEN  STOP 
9015  NEXT  n 

9020  ON  ERR  RESET  :  IF  n=l  THEN 
PRINT  "0$  has  no  data":  STOP 
9025  ON  ERR  RESETT  :  IF  n>l  THEN 
PRINT  "The  last  cell  of  0$  that 
has  Data  is  ";  FLASH  1;"0$("? 
n-1;")" 

9030  BEEP  3,16:  LET  n=a:  GO  TO  2 
0 


Each  of  this  routine's  actions  to  check 
the  status  of  0$  serves  the  same  purpose  as 
an  <IF  THEN>,  except  that  <IF  THEN>  cannot  be 
used  because  it  could  result  in  a  subscript 
error.  So  ON  EE^l  allows  us  to  check  the 
status  of  a  data  base  "whether  the  data  base 
exists  or  not".  It  is  inportant  to  note  that 
at  the  end  of  the  <0N  ERR>  Subroutine,  the 
<0N  ERR>  condition  is  cleared  (RE^).  Then 
any  subsequent  error  will  be  reported  as 
normal    with  a    "report    code"  at  the  screen 


UPDATE  MAGAZINE 


14 


OCTCBER  1988 


ocrcBi 


bottom. 

Lets  do  one  more  that  is  simpler.  This  time 
we  will  check  the  status  of  a  simple  string 
content  (A$) .  A  subscript  error  will  occur 
if  A$  has  not  been  initialized  in  this 
example.  <10  PRINT  "Jhe  Data  Base  is  LEU 
A$;"  bytes" >.     "Die  ON  ERR   routine  would  be: 

10  ON  ERR  GO  TO  9000:  PRINT  "T 
he  Data  Base  is  ";LEN  a$;"  bytes 
,"i  ON  ERR  GO  TO  9010:  SIDP 

20  STOP  :  REM  *  The  next  line. 
9000  ON  ERR  RESET  :  CLS  :  LET  a$ 
«""s  GO  TO  10 

9010  ON  ERR  RESET  s  00  TO  20 

If  A$  lias  not  been  initialized,  the  ON 
ERR  trips  to  line  9000.  But  if  A$  has  daU 
tlie  LENgth  of  A$  is  reported  and  the  second 
ON  ERR  designates  a  new  line  to  GO  TO  if  an 
eccoc  exists.  Then  SLX)P  triggers  the  GO  TO 
9010.  In  either  case  <CN  ERR  RESEn:>  clears 
tlie  CN  ERR  progranuning.  It  might  be  worth 
noting  tliat  <0N  ERR  RESET>  clears  the  error 
condi  tion. 

But,  <CN  ERR  RESBr>  is  ignored  if  the 
ecror  condition  has  already  been  cleared. 
Tliere  is  no  adverse  effect  if  <CN  ERR  RESErr> 
is  encountered.  The  follow  on  programming  in 
tlie  line  is  executed  whether  or  not  the  RESET 
actually  reset  an  error  or  not. 


McBrine  Computer  Products 


LlFi  far  the  JS206S  v.  2.0  -  See  John  Conway's  revolu- 
tionary pattern-generating  qaie  for  yourself!  3  tiies  as 
If^^  fSo^V"  original;  includes  24  x  32,  48  x  64,  and  now 
76  X  128  in  one  prograi,  plus  saving  b  loading  and  an 
iiprovBd  keyboard  routine  $9.95 

POHEK  fRIHJ  -  The  ultiiate  in  support  for  your  Epson- 
cojipatibli  printer  Kith  Aerco,  Tasaan,  or  AiJ  parallel 
interface.  Featurefi:  lOOZ  correct  LLISTings  t  Accurate 
aspect-ratio  b/n  screen  duips  in  2  sizes  and  two  resolu- 
tions (192  X  256  and  64-col.,  or  192  x  512)  I  Text-only 
screen  duips  (both  resolutions)  for  speed  I  Print  to 
!??2.7.^^Il^^''^"P^■'^'■iven  print  spooler  t  TOTALLY  RELOC- 
ATABLE! t  Specify  interface  and  printer.  (Kill  custoiize 
for  your  printeri  send  print  code  data.)  $7.93 

mn  512  -  Horks  in  both  192  x  256  and  192  x  512,  b/n 
only.  Draw  («/  OVER  or  INVERSE)  t  Line  t  Box  $  Square  I 
Circle  t  Invert  t  Block  invert  I  Block  erase  I  Merge 
screens  3  ways  t  Rotate  (scroll)  screen  in  8  directions, 
a  pixel  at  a  tiae  t  Flip  left/right  or  up/down  t  Mirror 
4  ways  I  Convert  back  and  forth  between  32-col.  and  64- 
col.  lodes  in  several  ways  t  Use  joystick  or  keyboard  t 
Screen  duips  froi  POWER  PRINT.......  ....$9.95 

^mRmLS  -  Reikill  t  Header  reader  I  Renuiber  (with 
GO  TO's  and  -SUB's)  t  Variable  duip  I  Prograi  tracer  t 
Finder  (find  string  in  BASIC  prograi)  t  All  RELOCATABLE 
except  tracer,  partly  relocatable  $9.95 

Postage  paid  on  all  orders  $  Check  or  Money  Order 

SEND  LSASE  FOR  FREE  CATALOG! 

McBrine  Coiputer  Products 
514  S.  Jackson  St.  t  Salisbury,  NC  28144 


CORNUCOPIA 

Gr.  Myth,  a,  horn  of  tho  goat  that  suckled 
Zeus:  it  would  become  full  of  whatever 
its  owner  wanted 


Getcha  magnifyin  glasses  out!  This 
issue  ^^ill  bring  some  announcements  about 
Software  that  is  available.  Now  oont  fuss 
about  the  small  print.  update  is  ooin 
this  as  a  public  service  and  trying  to  get 
as  many  in  thar  as  possible  while  making 
the  print  clear  nuff  to  spy  glass  up.  the 
main  thing  is  to  send  a  sase  to  the  folks 
and   get  back  more  info  than  we  can  put  jn 

A  LITTLE  COLUMN.     -  ED. 


SOFTWARE  FOR  THE  QL 

It  is  time  to  start  thinking  about  an  ugly- 
word,  "TAXES".  "But"  you  say,  "this  is  only 
October".  Wal,  the  next  issue  of  UPDATE  may 
be  too  late  to  start  worrying.  ITiis  is  an 
unpleasant  way  of  introducing  you  to  a  DEALER 
of  SPECIALIZED  SOFTWARE  for  the  QL. 

Peter  Hale,  of  EMSOFF  has  announced  the 
1988  version  of  "TAX-I-QL",  which  has  a 
template  for  your  PSION  ABASCUS  Software.  The 
TAX-I-OL  program  produces  most  of  the  IRS  form 
schedules  that  you  need,  plus  ccanmon  forms  and 
worksheets.  Your  taxes  are  c<»nputed  from 
input  data  on  the  proper  forms.  A  16  page 
manual  guides  you  through  the  task  of  inputing 
data  to  compute  your  or  someone  else's  taxes. 

Other  EMSOFF  titles  are  "MAILBAG",  an 
address  data  base,  "QLAND_LCM)" .  which 
completely  manages  up  to  99  property  rental 
units  and  produces  the  required  IRS  Schedule 
E.  Another  is  "TRU£rr_HJND"  to  manage  your 
investments. 

All  EMSOFF  softwares  require  256K  of  RAM 
extension  and  are  available  on  80  track  Floppy 
for  $19.95.  or  Micro  Drive  Cart  for  $21.95. 
Write  for  catalog:  EMSOFT,  PO  Box  8763, 
Boston,  MA  02114-8763  (tel  617  889  0830) . 


T7PDATT5;  mnj\7,TW, 


15. 


CX3XBER  1988 


OCTOBER  1988 


UPDATE  MAGAZINE 


ARCHIVE  MASTER 

ARCHIVE  Databaa*  im  a  poHarful, 
flaMibl*  and  unlqu*  prograa  that 
Has  auppltad  as  a  'bonua'  with 
■oat  n«H  QL  conputvr  ayataaa. 
HoHavar,  dua  to  It'a  coaplaxltlty 
and  lack  of  conplata  docuMntatton, 
ft  in  parhapa  th*  most  ■isundaratood 
OL  prograi*. . .  that  la,  up  until  noH. 
Entar  tha  nwM  book,  ARCHIVE  MASTER. 
tram  Exacutiva  Uorkahop. 
ARCHIVE  HASTER  axploraa  all  of  th* 
Innar  work  Inge  of  ARCHIVE, 
and  containa  tips  It  tricks     to  halp 
you  naka  ARCHIVE  an  avan  mora 
powarful  tool  -for  par'aonal  uaa  and 
buainaaa.  Conplata  procaduraa  ara 

includad  to  sat  up  an  Invantory 
prograa,  a  Cuatomar/Supp 1 lar  ftia, 
an  Accounta  Racatvabla/Involclng 
prograa,  a  Mall  List  Managar, 
and  auch  aora! 
ARCHIVE  MASTER  la  suppllad  Nlth  a 
durabia  thraa  ring  blndar,  and  l» 
prlcad  at  •44.99  (plus  43  SMI. 
Ordar  your  copy  froa: 
RMS  ENTERPRISES 
1419  1/2  7th  Straat 
Dragon  City,  OR  97049 
1903)  693-7484 


software  for  the  CQl^ 


CATALOG 


APPLICATIOHS  SOFTWARE  far  the  QL 

MAILBAG  Address  database  yau  won't 
believe.  256K+ 

TAX-I-QL       Spreadsheet  for  IRS  384K+ 

QLAND_LORD  Manages  up  to  99  units  and 
does  Scbed  E   (.mi«(i>  S56K+ 

TRUSTFUND  Tracks  Investments  and  net 
worth    (Soon>  256K+ 

Agents  for  ZX/TS  SlrlusWare 
4K  Word  processor  with 
TS  2040  lowercase  printer  driver 


PROMISE  LAND  ELECTRONICS 
Dan  Elliott,  Oumer 

Servicing  computerized 
electronic  equipment 


COMPUTE»«  /  MODULES  /  PRIMTERS  /  HOMITORS 


Sinclair  QL  TS-2068  TS-LSOO  TS-1000 

16K  Ram  Pack  ZX-81  Hanotaeh  Modulaa 

Commodore  64  VIC-20  PLUS-4  C-16 

Coleco  ADAM  TI-99/4A  Comaodore  128 


REPAIRS  /  UPGRADES  /  ASSEMBLIMG  /  TESTIMO 


Write  tor  pcicest 

Dan  Elliott 
Route  I,  Box  117 
Cabool,  MO  65689 


KEEP  IN  TOUCH 


Mith 

a_l_IMK  ! 
The  Ultimate  QL  Terminal 

US*19.9S  *  3.00  shipping 
Cspecify  mediumJ 

Meta  Media  Productions 
726~Uest  17th 
Vancouver  BC 
Canada  V5Z  1T9 


Orders,   Catalogues  and  Dealer  Info.- 
Estate  ManaxemBat  Services  

P.O.   Box  8763,   Boston.   HA  02H4-8763   C617)  889-O830 


THE  Z88  UNDER  2  LBS. 

A  Computer  Without  Compromise 


'Jj  -j    j    j  .J    J   J  -J    ^    J  J  O  vJ 

oj  "nJ  tJ  \d  \d  'yJ  'oJ  ''-J  oJ'W':^  ''-i. ''.  U 


I   U   .J   cj   ,J   .J  .J    .J    J  . 


rm  laptop*  compmmlta  on  dItplBf  »iMi  RAM  eapmclty  to  Behl»*»  porlaoillly,  tnd 
m  to  aqual*  prtea  iWlfi  poirar.  On  ZBS  l§  a  panonal  eompular  which  makat  no 
•  A  CMOS-laehnology  eompular  with  lha  powar  to  addrati  4  Mbyia»  of 
mamory  •  Aeompularwnhawork-fraa<lltplayoltllnaaol80eharaelan,anLCDtenan 


n(  tloraga  •  A  computer  with  adnncad  word-proce»ilng,  spraadtheat 
-  amy  dala-managamant  tottwara  t>ull1-lr\ 
complalaly  sail  contalnad,  which  givat  you  up  to  10  houn  actlna 
baltarlat,  yat  which  talki  and  lltlant  to  your  IBM  *  A  eompular  with  a  lull-slza  kayboarri,  In  a 
packaga  lass  than  the  slia  of  an  8H«  1 1.  with  a  total  weight  ol  lass  than  2  lbs  •  Tha  288.  A 
eompular  without  compromlsa. 


Z-88  Compulw 
PCtoZ-asUnkup 

32KRAM   

3ZKEPBOM 

128K  RAM  

«28KEPROM 
RS  232  LEAD 


45  00 
3995 
.  3995 
8995 
89  95 
1995 


SERIAL  lo  PARALLEL  I/I 
t/2  MEO  RAM 

DAT  ABASE  S/W  

CARRVINOCASE 
2-88  MAGAZINE 
X-MOOEMS/W 


$  45  95 
359  95 
I199S 


SHARP'S,  INC. 


UPDATE  MAGAZIbE 


16 


OCTOBER  1988 


UPDATE  MAGAmfJ 


ZX-APPEAL  was  named  *2  BEST  CLUB 
publication      by      Time  Designs 
panel.       See  re-print  articles  in 
this  issue.  ed. 


The  Vant»uver  Sinclair  Users  Group  lias  been  In  existence  since 
1982.  We  are  «  suppoH  group  for  Uie  owners  and  users  of  all 
SINCLAIR  and  TIMEX  computers. 

Pres:-GerdBi«unung  PH«(604)  931-5509 

V/Pres:-  Glenn  Read 

Sec-  Harvey  Taylor 

Treas.  &  N/L  Editor-  Rod  Humphreys 

Our  membership  dues  are  only  SlS.OO/year  and  may  be  senl  lo 
the  Treasuren 

Rod  I  lumphreys 

2006  Highview  Place 

Port  Moody,  B.C.  V3H  1N5 

Members  of  VSUG  receive  a  montldy  issue  of  ZXAppeal  -  our 
newsletter. 

ZXAppeal  accepts  advertising.  Our  ••PREPAID**  rales  are: 

$10.00 -full  page 
$800- 1/2  page 
$5.00 -1/4  page 

ZXAppeal  ia  distributed  lo  approx  30  other  SINCLAIR  User 
Groups  throughout  North  America  as  Well  as  overseas  via  the 
NETWORK.  NETWORK  correspondence  may  be  directed  to  the 
Editor  at  the  above  address. 

Copyright  of  all  articles  appearing  In  ZXAppeal  is  retained  by  . 
the  author  with  the  understanding  that  other  T/S  User  Groups 
may  mnlnt  any  artide  appearing  In  ZXAppeal  provided  credit 
Is  given  to  the  author  and  VSUG. 


Rcprinlcd  from  the  May/88  issue  of  the  Nile-Time 
News  -  the  N/L  of  the  Chicago  Area  T/S  Users  Group 

TELECOMMUNICATIONS  ON   THE  QL 
By  flichael  nitchell 
(Reprinted  froi  QZX) 

The  Ql  for  lU  its  pover  ind  yersitility  is  liaited  in 
teleconaunictting  it  m  baud  without  «  hirdvare  link  betveen 
the  serial  port  and  the  aodei.  The  folloving  prograi  vhich 
appeared  in  the  Data  Expansion  or  the  Dallas/Fort  Vorth  group 
will  get  you  on  line  to  a  TNC  or  a  telephone  at  399  (or  even 
1299)  baud. 


1  REflark  306/1269  baud  teriinal 

2  REHark  R1KE_T£RB 

3  REnark  Developed  by 

4  RENark  Hichael  llitchell 

5  RERark  attribution  requested 

S  REKark  Sindairniaex  User  firoup 
7  REHirk  Boston  Coaputer  Society 

ie«  VINOOV  465,264,6,9 

165  BORDER  1,9,7:  LB=127 

119  CIS:  POKE  1(397(,2S5:  CLSI9 

129  PRlNTf 9.. 'Choose  Baud:    H<1299.  L«399 

139  IF  IHKEY$(-l)=='h'TH£N  BAUD  1206:  ELSE  BAVO  399 

140  CLSI9:  0PENIS,SER2i 

156       PRINTI0,,  75=^1'.  •ALT*C=*C'.'-6=flELL' 
160  REPEAT  TERN 

170  TERniNAL:  PRINTI6, .•ExitT(y/n)' 
180   IF  INKEY$(-U"'r  THEN  EXIT  tera 
139  END  REPtera 
299  CLOSEfS 


295  PRlHTI9,.'Re-run/«uit?  (r/q)' 

219  IF  IKKEYf(-n«'R'  THEM  RUN:  ELSE  STOP 

229  OEFine  PROCedure  teriinal 

239  REPeat  key  loop 

246  a<00E(INj(EYI(l5,9))S&LB 

250     IF  a=13  THEN  PRINT 

269     IF  a»7  THEN  BEEP  2999,15 

279     IF>3I  THEN  PRINT  CHRI(a) 

289  b-CODE(INKEYI) 

299  IF  bs248  THEN  EXIT  key.loop 

300  IF  b=255  THEN  b=9 

319     IF  b=9  THEN  NEXT  key.loop 

329     IF  b«I9  THEN  b=l3 

339      IF  b=298  THEN  b=7 

349    PRINTIS,  CHRI(b); 

359  END  REPeat  key.loop 

369  RETurn 

379- END  OEFine  lerainal 
Save  as  HlKE.TERM.bas 


UPDATE  MAGAZI^E 


17 


(XTOBER  1988 


OCTOBER  1988 

Reprinted  from  ZX-APP: 


 ^ 

UPDATE  MAGAZINE 


Sound  Experimentor 

Rob  Miles 

Unlike  most  home  computers 
the  QL  has  a  very  limited  noise 
making  capability.  What  there 
is  can  only  be  dragged  out  by 
using  the  enigmatic  BEEP 


command.  This  has  8 
arguments,  all  of  which  are 
obscure.  The  only  way  to 
produce  something  vaguely 
melodic  is  by  trial  and  error. 
The  following  quickie  allows 
you  to  do  exactly  this. 


100  REMark  »♦«•*  QL  User  -Beep  eKperiment 
110  REMark  Rob  Miles  1985 

120  duration«=5000s  pi  tch«100s  pi  tch_2«0!  Qrad_.M«0:  gra 
d_y«0;  wrap«0j  f  U2zy*=0:  rando(n«0 
130  REPeat  sounder 
140  CLS 

150  set   "Duration    (-32768. . 32767)         duration, 2 

160  set   "Pitch    <0. . 255)   ?", pitch, 4 

170  set    "Pitch^2    <0. .255)    ?",pitch  2,6 

180  set   "Grad_x    C-32768..15)  ?",grad.x,8 

190  set   "Gradlv   (-8.. 7)  7",grad.v,10 

200  set   "Wrap    (0.. 32767)   7", wrap, 12 

210  set   "Fuzzy    (0. . 15)         fuzzy, 14 

220  set   "Random    (0. . 15)  random , 16 

2?0  AT   i8,0«PRINT  "Beep  " j dur at i on ; " ^ " s pi tch ; " , " ; p 

i  tch^2i  "  ,  "sgrad.x:  ••,"5grad_y;  ••,";wrap;         fuzzy;  "  , 

"  t  random 

240  BEEP  duration, pi tch, pi tch_2,grad_x ,gr«d_ytwrap 

, fuzzy, random 

250  dum*«INK:EY*  (-1) 

260  END  REPeat  sounder 

270  DEFme  PROCedure  set    (name*  ,  var  ,posi  tion) 
280  LOCal  buf* 

290  AT  posi tion,0:PRINT  name*;"  "fvar 
300  AT  posi t ion ,0: PRINT  namef; ' 
310  INPUT  buf* 

320  IF  buf*<>""  THEN  var»buf* 
330  AT  posi t ion, Os PRINT  name^s' 
340  END  DEFine  set 


• ! var : 


Easel  Print 

D  Duncan 

The  following  7  liner  shows 
exactly  how  to  use  the  graphics 


dump  provided  with  EASEL. 
All  you  need  is  an  EPSON 
compatible  printer  and  the 
EASEL  cartridge  in  mdv2. 


120  MODE  8 1  PAPER  2: CLS 
130  FOR  n»l  TO  150 

140   INK   7:FILL   1:CIRCLE  n,50,20, .5,-n/2 

150   INK  2jF1LL  0:CIRCLE  n , 50,20, . 5,-n/2 

160  NEXT  n 

170  REMark  Dump   to  Epson  printer 

180  a=RESPR(1024) rLBYTES  mdv2_gprint.prt , a 

190  CALL  a: OPEN  «3,serl:LIST  #3: CLOSE  #3 


UPDATE  MAGAZINE 


18 


OCrCBER  1988 


OCTOBER  1988 


QL  RAM  extension 


UPDATE  MAGAZINE 


Re-print  from  ZX-APPEAL 


Sinclair's  QL  has  as  standard  a  128  K 
RAM.  which  sounds  like  a  lot  in  com- 
parison with  most  64  K  machines. 
Unfortunately,  the  software  writers,  in 
the  knowledge  that  there  is  more  than 
enough  memory,  have  been  rather 
wasteful  in  their  work,  so  that  at  the 
end  of  the  day.  there  is  not  all  that 
much  more  in  the  QL  than  in  the  64  K 
machines.  So,  you  need  more 
memory. . . 

The  accompanying  circuit  is  an  appli- 
cation of  the  TMS4500A  as  RAM 
extension  for  the  68CX)8.  This  chip  can 
drive  a  maximum  of  128  K  dynamic 
RAM      and      provides  virtually 

everything:     multiplexing  of  the 

address  lines.  RAS.  CAS,  and 
REFRESH. 

The  memory  ICs  are  64  K  x  1  (128  or 
256  refresh  are  both  permitted)  and 
have  a  speed  of  better  than  150  ns. 
Since  the  QL  uses  a  clock  frequency 
of  7.5  MHz  rather  than  the  normal 
8  MHz,  such  a  RAM  can  run  without 
wait  cycles.  An  8  MHz  CPU  that 
regularly  has  to  carry  out  a  wait  cycle 
is  appreciably  slower  than  a  7.5  MHz 
type! 

The  68000  family  is  provided  with  a 
data  acknowledge  input.  As  with 
other  processors,  the  CPU  places 
addresses  and  data  onto  the  bus  and 
indicates  the  validity  with  an  address 
strobe  and  data  strobe  respectively.  It 
continues  to  do  so  until  the  memory 
sends  a  DTACK  signal.  The  present 
extension  generates  this  signal  with 
the  aid  of  the  LS156.  Normally,  this 
acknowledgment  is  given  almost 
immediately,  but  it  may  happen  that 
the  4500  is  in  the  middle  of  a  refresh. 
In  that  case,  the  CPU  has  to  wait, 
which  is  arranged  via  the  ready  output 
(pin  2). 

To  prevent  the  QL  waiting  forever 
when  an  address  is  read  that  has  no 
memory,  the  DTACK  is  generated 
internally:  this  must,  however,  be 
disabled  for  addresses  where  the 
RAM  extension  is  located,  and  for- 
tunately this  can  be  done  easily  via 
DSMC.  By  making  this  logic  high  as 
quickly  as  possible,  the  internal 
DTACK  is  cancelled. 
If  you  cannot  get  the  2N2905  transis- 
tor, you  may  use  a  BS250,  in  which 
case  resistor  /?,  can  be  omitted  and 


should  be  replaced  by  a  wire  link. 
The  circuit  as  shown  is  for  the  128  K 
version.  It  is  also  possible  to  omit  the 
eight  RAMs  connected  to  RAS1  and 
make  a  64  K  extension.  Input  A  of  the 
LS138  must  then  be  connected  to  A,6 
and  pin  11  Instead  of  pin  13  must  be 
used  as  CS". 

There  is  no  5  V  supply  available  on  the 
connector,  but  there  is  a  9  V  line.  This 
can  be  reduced  to  5  V  by  a  standard 
7805.  The  current  drawn  depends  on 
the  types  of  RAM  and  will  be 
200.  ..300  mA.  It  is  important  to 
decouple  the  supply  lines  properly: 
each  RAM  IC  and  the  4500  require  a 
100  n  capacitor! 


1  .5 

n 

,    IC2  IC3 

UFOfflTE  HAGAZI^G 


19 


OCTCBER  1988 


UPDATE  MAGAZIbE 


Re-print  from  ZX-APPEAL 


by  David  Hashdr 


i 


o 


CI. 
o 

I 


PL,  1 


The  Truiip  Card  is  sisply  the  lost  useful  single  addition  you 
can  gel  for  the  Sinclair  QL.  It  coiibines  a  disk  interface.  768 
kilobyte  RAtl  expansion,  Toolkit  11  for  SuperBASIC  extensions,  a 
screen  ducp,  static  and  dynanic  raidisks  and  a  dynanic  printer 
buffer.  Vhen  you  consider  that  even  the  lovest  cost  S12  Kb  RAK 
expansion  and  a  disk  interface  vill  cost  at  least  $259.  and 
Toolkit  II  costs  $70,  the  Trunp  Card  is  a  bargain  at  $309.35. 
The  entire  unit  only  sticks  out  about  three  inches  fros  the 
expansion  port  side  of  the  QL,  so  it's  conpact.  I  got  Bine  fro« 
Curry  Conputer  in  6iendale,  Arizona. 

The  disk  interface  is  pretty  standard  fare.  It  will  allow 
you  to  store  infomation  on  any  coaibination  of  forty  and  eighty 
track  drives,  single  sided  or  double  sided,  5  1/4*  or  3  1/2*. 
The  interface  is  fairly  intelligent  in  that  it  vill  pick  up  on 
vhat  foraat  the  disk  vas  created  In  autoaatically.  For  exaiple, 
if  you  have  a  SO  track,  5  1/4'  double  sided  drive,  the  interface 
vill  autoaaiically  read  fros  a  46  track,  single  sided  disk.  Of 
course,  you  can't  Hake  a  single  sided  drive  read  froa  a  double 
sided  disk,  or  put  a  3  1/2'  floppy  in  a  5  1/4'  drive  since  the 
interface  can't  change  the  linitations  of  your  disk  drives.  But 
if  you  have  an  80  track  5  1/4"  double  sided  drive,  you'll  be 
able  to  read  any  disk  vith  the  exception  of  3  1/2"  disks.  The 
interface  is  only  able  to  support  tvo  floppy  disk  drives.  That's 
its  only  shortcoiing  as  far  as  I'l  concerned. 

The  768  Kb  RAh  expansion  saxes  out  the  QL.  Added  to  the  128 
Kb  that  are  built  into  the  QL,  you  have  a  whopping  896  Kb  of 
m.  (Vhile  the  68008  CPU  can  address  1  Kb  of  RAh,  128  Kb  of 
neiory  in  the  QL  are  reserved  for  device  addresses  and  ROKs.) 
You'll  have  rooi  to  run  any  prograi  that  has  ever  been  vritlen 
for  the  QL  -  probably  several  copies  of  the  prograa.  This  can  be 
very  helpful  on  a  aultitasking  aachine  like  the  QL.  You'll  also 
have  plenty  of  rooa  for  raadisks  too. 

The  raadisking  capabilities  of  the  Truap'  Card  are  really 
neat.  The  raadisks  coae  in  tvo  varieties,  static  and  dynaaic. 
The  difference  is  that  the  static  raadisk  has  to  be  foraatted, 
alaost  like  a  sicrodrive  cartridge,  and  the  dynaaic  raadisk  can 
be  created  by  just  using  the  device  naae.  For  exaaple.  to 
create  a  static  raadisk  vith  Ivo  hundred,  S12  byte  blocks  of 
space,  just  enter: 

FORttAT  RAni.200 

A  160  Kb  section  of  aeaory  vill  be  set  aside  for  use  by  the 
aachine  to  use  just  like  a  aicrodrive  or  floppy  disk,  but  vill 
be  located  in  fast  RAN.  To  create  a  file  in  dynaaic  raa.  it's 
just  as  siaple  as  using  the  device's  naae.  To  copy  a  file  to 

raadisk  raa3_  just  enter: 


COPY  dev.fi  lenaae  to  RAff3.fi  lenaae 

A  bit  of  aeaory  vill  be  set  aside  in  RAH  as  raaS.filenaae.  It 
via  grov  only  Urge  enough  to  hold  the  flle(s)  that  have  been 
send  to  raa3..  The  difference  betveen  the  static  and  the 
dynaaic  raadisks  is  that  the  dynaaic  raadisks  are  aore  likely  to 
fragaent  the  aeaory  of  the  QL.  If  the  aeaory  becoies 
sufficiently  fragaented.  it  can  degrade  the  perforiance  of  the 


aachine  because  the  operating  systea  vill  have  to  scrounge 
around  to  find  blocks  of  aeaory.  Up  to  eight  raadisks  can 
used  vith  the  Truap  Card.  One  other  neat  feature  of  the  raadiw 
is  that  it  can  aake  a  very  fast  iaage  of  everything  on  a 
licrodrive.  It  vill  copy' everything  on  the  aicrodrive  in  just 
about  fifteen  seconds. 

One  of  ay  favorite  features  of  the  Truap  Card  is  its  printer 
buffer.  It's  a  snap  to  use  and  can  really  save  tiae.  In  its 
siaplest  fora,  you  just  use  the  device  naae  'PRT'  instead  of 
'SER*.  «hat  happens  is  that  vhatever  you  are  sending  to  the 
printer  is  sent  in  its  entirety  to  a  buffer  in  RAH.  The  QL  then 
sends  bytes  to  the  printer  as  a  background  task.  The  advantage 
to  this  is  that  you  can  return  alaost  iaaediately  to  an  editing 
session  if  you  send  a  file  to  'PRT*  froa  The  Editor  or  Quill. 
If  you  send  a  file  to  'SER'  froa  an  editor,  you  aust  vait  until 
the  printer  has  finished  printing  before  you  can  continue 
editing.  Several  files  can  be  sent  to  the  printer  buffer  and 
they  will  be  sent  in  the  proper  order.  There  is  a  aethod  of 
changing  the  device  that  you  want  to  have  the  'PRT'  device  use. 
Unless  you  have  a  parallel  interface  that  doesn't  use  the  serial 
port,  it's  hardly  likely  that  you'll  change  it. 

The  printer  duap  is  pretty  good.  It  supports  about  any  Epson 
dot  aatrix  printer  plus  a  fev  other  printers  including  the 
Brother  HR4,  Olivetti  JPlOl,  Seikosha  6P-ieOA,  6P-2501{,  ind 
6P-700A,  and  the  Canon  PJ1080A,  You  can  specify  vhat  section  of 
the  screen  to  copy,  and  there  Is  a  provision  for  using  a 
•hotkey*  to  copy  anyscreen  froa  any  prograa  that  you  light  bis 
running.  There's  also  docuaentation  on  hov  to  open  a  printer 
device  and  get  a  printer  duap  froa  prograas  vritten  in  near 
any  conputer  language  -  not  just  SuperBASIC.  I've  tried  it  fro» 
'C  and  it  does  vork. 

Toolkit  II  is  a  collection  of  SuperBASIC  extensions.  Soae  of 
thea  are  auch  aore  useful  than  others,  but  on  the  vhole,.  they 
are  very  vorthvhile.  To  ae,  soae  of  Toolkit's  aosl  useful 
coaaands  are  'ed',  a  screen  based  SuperBASIC  editor;  *vcopy'.  a 
file  copier  that  allovs  the  use  of  wildcards;  'vstat',  a 
vildcard  directory  coaaand  that  also  provides  the  file  size  and 
last  update  tiae  of  files;  'splf.  another  printer  buffer  or 
rather  'spooler*  that  vorks  great  vhen  used  vith  'prt';  and  an 
assortaent  of  job  control  coaaands  that  allov  the  user  to 
aonltor.  change  the  status  of,  and  reaove  jobs  that  are  the  In 
the  QL.  Toolkit  II  allovs  the  use  of  default  directories,  has 
clock  features  Including  alari  ciock(s).  has  laproved  SuperBASIC 
error  handling,  peralts  the  user  to  define  'hotkeys',  altkey/ 
single  key  coabinations  to  enter  large  strings  or  coaaonly  used 
coniands,  and  has  an  easy  vay  to  repeat  of  the  last  coaaand 
typed.  Soae  of  the  aore  obscure  coaaands  deal  vith  netvorking, 
direct  unbuffered  access  to  the  various  i/o  devices,  and  aeaory 
aanageaent  coaaands.  All  In  all,  Its  a  pretty  iapresslve  array 
of  extensions  to  SuperBASIC.  Once  you  start  using  the  Toolkit 
II  coiaands.  you'll  never  vani  to  use  a  lachine  vithout  thea. 
An  additional  benefit  of  having  Toolkit  II  fitted  on  the  Truap 
Card  is  that  it  leaves  the  ROH  cartridge  slot  on  the  back  of  the 
QL  free  for  other  ROKs. 

Vhen  you  consider  the  features  that  the  Truip  Card  offers.  ' 
feel  that  it  is  an  unbeatable  coablnatlon. 


2.0 


UPDATE  MAGAZINE 


OCTCBER  1988 


Bob  Hartung,  2416  N.  Co.  Line,  Huntertown,  IN  46748 

Since  the  final  additions  have  been  iuade  to  SAFE  DOS,  I 
have  had  several  requests  to  write  a  "do-all*  disk  raan- 
ageraent  program  that  includes  all  these  features,  plus 
the  file- indexing  provided  by  DOS_DEX  and  AUTO-DEK.  It 
seemed  to  rae  to  be  more  practical  to  call  these  file- 
indexing  routines  and  the  disk-verify  routine  frao  the 
initial  <LI3AD>  menu  and  from  the  MULTIJI^^GER  menu  than 
to  integrate  them  all  into  one  program. 

To  make  it  possible  to  utilize  only  one  set  of  data  for 
both  DOS.DEX  and  AUTOlOEX,  the  original  DOS.DEX  was  re- 
vised to  save  DATA  c^O  arrays  instead  of  the  entire 

routine  with  variables.  This  in  turn  required  finding  a 
way  to  preserve  current  variables  whenever  a  new  file 
directory  was  installed  by  the  machine  code  routine.  I 
utilized  the  UD6  file  for  this,  eg:  POKE  USR  'D  and  PEEK 
USR  'd*  which  saves  several  bytes  compared  to  using  the 
usual  PEEK/POKE  syntax.  The  ujiderlined  'O*  must  be  en- 
tered in  GRAPHIC  mode  but  not  the  lower-case  "d*. 

Some  have  wondered  why  the  fast  FOR/NEXT  loop  was  not 
used  in  these  routines.  Actually,  because  of  the  various 
key-stroke  tests  and  item-numbering  very  little  gain  in 
display  speed  is  obtained  by  this,  but  for  anyone  who  is 
interested,  the  eighth  REH  byte  may  be  changed  to  a  14 
to  allow  for  a  LET  m=SGf^  PI  definition  before  the  DIM  ci 
mi  M78',m  '20").  An  easy  way  to  do  this  with  the 
original  D0S_DEX  listing  is  to  insert  a  line  6  STOP.  Key 
RUN,  then  POKE  (a47),14.  Remove  line  6,  make  the  m 
definition  between  CLEAR  and  DIM  ciO  and  revise  all  the 
m  loops. 

Note  that  this  fast  FOR/NEXT  definition  is  NOT  provided 
in  the  revised  DOS_DEX  listing  given  below.  To  move  the 
REM  statement  to  line  0  if  you  are  starting  with  the 
original  listing,  POKE  26711,0.  (Refer  to  April  UPDATE 
for  poking  the  machine  code  to  a  REM  line  from  scratch.) 
As  given,  the  listing  provides  for  a  two-drive  system, 
0  and  1,  at  lines  1  and  522,  which  may  be  changed  if  you 
prefer  to  designate  other  drives.  Omit  these  drive 
designations  if  you  have  a  single-drive  system. 

After  the  ERASE  function  appeared  for  SDOS  v2.52,  I 
found  that  the  CHR$  229  '  RESTORE  '  test  I  had  used  in 
the  original  AUTO-DEX,  MERLDISK,  and  fttRKJIOVE  listings 
would  not  work  after  an  ERASE  had  been  used  on  a  disk. 
Upon  checking  with  John  Qliger,  I  learned  that  a  CHR$ 
128  in  the  first  byte  of  the  first  unused  file  di- 
rectory is  what  must  be  looked  for.  So,  in  all  the  ori- 
ginal listings,  wherever  '  RESTORE  '  appears  the  respec- 
tive lines  should  be  changed  to  IF  CODE  c*<n))  WL  '127" 
...  or  IF  CODE  c$(k)>  VAL  •127'...  or  IF  CODE  cf<M)>  VAL 
•127*  or  IF  CODE  ciim)>  VAL  •127*.... 


UPDATE  MAGAZINE 


The  MULTIJiANAGER  listing  does  not  utilize  the  fast  FOR/ 
NEXT  loop  either,  so  when  entering  the  listing  be  sure 
that  the  eighth  byte  of  the  line  I  REM  is  an  S  and  not  a 
14  as  described  previously  if  you  are  starting  with  a 
copy  of  the  DOS_DD':  machine  code  in  line  1  REH.  The 
program  prompts  should  be  self-explanatory— I  HOPE!  Note 
the  warning  given  in  the  SDOS  User  Manual  <p.  37a  in  the 
final  edition)  that  the  NOME  /  conwand  to  transfer  an 
entire  disk  must  be  used  only  with  identical  drives, 
otherwise  the  MARK_MWE  method  is  the  only  safe  way  to 
do  it.  The  MULTIJW*^6ER  menu  assumes  that  DOS-DEX 
resides  in  file  zero  and  that  AUTO_DEX  and  MERLDISK  are 
on  the  same  disk,  preferably  with  AUTO-DEX  in  file  1. 

These  routines  are  available  on  an  UPDATE  issue  disk. 


TUO-DRIVE  DOSLDEX  WITH  DATA-SAME 

8  REM  STEP  ?»K\??  FOR  !  &?  CLOSE  # 

1  POKE  USR  "D"»SfiN  PI  J  LET  /(HiOT  PI 

2  £Lm  I  DIM  c$(m  ■178',VAL  *2»')'.  LET  t=UAL  MS"? 
LET  s;=S6N  Pi!  LET  w=5*s!  LET  o=NOT  Pis  LET  #:PEEK  USR  ' 

d" 

5  LET  a=yAL  "PEEK  236354PEEK  23636»25645" s  LET  c=INT 
(a/m  '256'). •  POKE  WL  '23549* ,m  M95":  POKE  m  "235 
5B*,a-(cm  •256")!  POKE  m  ■2355r,C!  LH  f  i=USR  m. 
"23549"!  LET  pow=W!  LET  co1=WL  '9't  LET  nit=cf(WL  '178" 
,  TO  m.  'U') 

28  LET  a«=""!  DIM  Hm.  '6",w)!  LET  ff(tf)="  DATA  n*! 
LET  f$<IMT  PI)="  DATA      LET  f$<w+w)=*CODE  *!  LET  f$(^^ 
L  •5")=-ABS     LET  f$(WL  '6-)=m  " 

388  as  :  PRINT  AT  o,o|*  Diskjf|d-s;"!  "inljlfoj'DOSDEX 
d8/dl:""Key!  NEXT  CAT  SWE  LOAD  (Dl'jd 

488  LET  f=S!  LET  c=INT  (fi/VAL  "18"):  LET  dif=INT  ((fi/ 
MAL  •18"-c)«MAL  'IB'^m.  '.4")!  LET  loop=m  '17"!  ON  ER 
R  60  TO  m  "788" 

418  LET  q*="|>'!  LET  it=5i  IF  loop>=fi  THEN  LET  loop=fi! 
60  TO  WL  "425" 

415  FOR  i=5  TO  C!  FOR  hfo  TO  loop!  PRIKT  AT  row+m,t;a$j 
AT  row4n,t-LEN  STR$  itjit;"  ';c$(it,  TO  t)j*  ■;f$(CODE  c 
$(it,WAL  '11")^)!  LH  it=it*s:  NEXT  m!  80  SUB  m.  "588" 
!  NEXT  i!  FOR  i=s4s  TO  m  "19':  PRINT  AT  i,t|a$!  NE)(T  i 
!  IF  NOT  dif  THEN  60  TO  ^JAL  "418" 

425  IF  f  THEN  FOR  ra=o  TO  dif-s!  PRINT  AT  rowtf8,t  ja$}AT 
row4n,t-LEN  STR$  itjit;"  "jcfdt,  TO  t);'  ••,«(CODE  c$<i 
t,m  "ID+s):  LET  it=it*5!  NEXT  n:  IF  loop>=f  i  im  LE 
T  f=o 

427  IF  NOT  f  THB^  LET  it=fi+s 
438  60  SUB  m  "588'!  60  TO  m  "418" 
588  FOR  L=o  TO  n-S!  PRINT  AT  row+L,col-w;"  INVERSE 
5f">'!  IF  qfO"  THEN  FOR  a=5  TO  PItPIi  NEXT  a!  LET  ql=" 

518  Ln  a«=INKEY$!  IF  a^"  THEN  LH  q<='p"!  60  TO  m 
•518" 

528  IF  CODE  a<=MAL  MS"  THEN  60  TO  m.  '688" 

.1 

OCrCBER  1988 


OCTCBER  1988 


UPDATE  MAGAZINE 


522  IF  a*='C'  THEN  LET  /d=S!  OPEN  lw,-P*:  CAT  !  CLOSE  I 
W!  LET  /{t=o:  60  TO  w 

524  IF  a^^'L"  OR  a*="r  im  LOAD  /STR*  d  DATA  c$():  LE 
T  nP^cimi  M78*,  TO  ^AL  'U')i  LET  *=CODE  c^(VAL  'l??' 
):  LET  fi=CODE  c$<VAL  '\?7%t4)i  GO  TO  m  "388" 

526  IF  a^'S"  THEN  LET  d=d+5!  POKE  USR  'O^.d:  LET  c%m 
L  M?7-,5)=CHR*  d!  LET  cf(m  "177',w)=CHR$  i'li  SAME  //S 
TR$  (d-s)  DATA  ciOs  60  TO  w 

528  IF  a«='N'  THEN  INPUT  "  INPUT  NEXT  i';d:  POKE  USR  "D 
■,d!  60  TO  w 

538  PRINT  AT  row4L,col-tt;"    *:  NEXT  li  LET  a$=" 
•s  RETURN 

688  ON  ERR  RESET  i  CLS  :  LET  pos^it-tiiL:  LET  d$=c$<pos, 
TO  t)!  LET  a=CODE  c$(po5,t45):  IF  NOT  a  THEN  LOAD  /dl 
618  IF  a=5  THm  LOAD  /d$  DATA  nO 
628  IF  a=w  THEN  LOAD  /dl  DATA  niO 
638  IF  a=INT  PI  THEN  LOAD  /mm 
648  IF  a=w4w  THEN  LOAD  /d$ABS 
658  IF  a=^L  '5"  THB<  LOAD  /d$^L 
788  ON  ERR  RESEf  i  PRINT  flNGT  PI;  FLASH  SGN  PI|'  FILE  N 
or  FOUND     PAUSE  ^  "188":  60  TO  SGN  PI 


MULTIJWmOER 

1  REM  STEP  ?»K\??  FOR  !  &?  CLOSE  ii 

2  ON  ERR  RESET  5  CLEAR  s  DIM  c*(WL  •I78-,yAL  ■28') : 
LET  s=SGN  PI  J  DIM  ni$(m  '177', s):  LET  i=m.  M":  LCT  t= 
m  MB':  LET  cfNOT  Pis  LH  a^"j  INK  m        PAPER  oj 

BORDER  o:  CLS 

5  PRINT  TAB  tjmTHW*WER'"TAB  f  |M  -  Mark/move  i 
i1es';TAB  f;"2  -  Move  ALL  f i]es';TAB  ^;"3  -  Re-nane  file 
s'lTAB  f|M  -  Re-nane  dislC;TAB  -  ERASE  file5"}TAB 
i\'6  -  MERLDISK'jTAB  i\'7  -  DOSlDEX'jTAB  f  j'8  -  AUTOE 
X'lTAB  i\'9  '  SWE  MULTIJ16R";TAB  -  LPRINT  CAT  'i  P 
AUSE  o:  LET  opt=CODE  INKEY$-48!  IF  opt)9  THB<  60  TO  5 

18  IF  opt=6  THEN  LOAD  /'VERLDISK" 

15  IF  opt=7  im  LOAD 

28  IF  opt=8  THEN  LOAD  /'AUTCDEX" 

25  IF  opt=9  THEN  CLB^R  !  SWE  /"MULTIJ1BR'  LINE  2;  60 
TO  2 

38  IF  opi»o  THS«  INPUT  "Printer  ON,  then  key  ENTER  "ja 
$!  LET  /p=oj  Om  I2,"P"!  CAT  :  CLOSE  #2j  LET  /p=t!  60  T 
0  2 

35  DIM  mm  '6\sH)i  LET  m%H)='  DATA  n"j  LET  f$< 
INT  PI)="  DATA  %'i  LET  «(m  M")='CODE  ":  LET  Hm.  " 
5")='ABS     LH  iimi  •6')=m  " 

48  INPUT  "No.  oi  SOURCE  A^ive  (8-3):  "isource'-No.  of 
DESTIh*^TION  drive  (8-3):  ^dest:  IF  50urce=dest  OR  sourc 
e)3  OR  dest)3  THB4  GO  TO  48 

45  LET  5$="P1ace  source  disk  in  DRIVE  "iSTR*  source*' 
&  target  disk  in  DRIVE  ■♦STR$  dests  LET  k$="KEY  BITER  T 

0  • 

58  PRINT  llo;s$|"  Key  any  CHRI  TO  CAT  source  d 

isk  or  key  BfTER  TO  NOT  CAT  ■■:  LET  /(*=50urce:  PAUSE  o:  I 
F  CODE  INKEY$<>m  '13'  THEN  OPEN  12, 'P':  CAT  :  CLOSE  82 

68  IF  opt=l  OR  opt=2  THB^  INPUT  ":  PRINT  AT  o.tj'FILE 
-M(WE%«8i'  FORTWT  target  disk  (drive  I'jdestj')  y/n?" 

1  PAUSE  o:  IF  INKEY$="y"  THBI  INPUT  "  INPUT  FORTttT  t  t 
itie  to  arrow"  ;a*:  LET  /d=dest!  FORTttT  /iii  LET  /c^sourc 


e:  OPEN  I2,"P":  D^T  :  CLOSE  i}2: 
PAUSE  388 

65  IF  opt=2  THEN  INPUT  'Key  ENTER  for  DEFAULT  t  (track 
s)  OR  enter  no.  of  tracks  to  move:  "it^:  IF  t$(>""  THEN 
LET  /t=^L  \ii  MOVE  /:  LET  /t=83i  60  TO  2:  RBI  Make  t 
re-set  def inition=default 

78  IF  opt=2  THe<  INPUT  (5$'k$)j"  MOVE  ALL  FILES 
LET  /(J=50urce:  MOVE  /:  GO  TO  2 

75  IF  opt=5  THEN  CLS  :  PRINT  AT  19,o|*Mark  ONLY  last  f 
ile  to  ERASE  andrepeat  for  any  others  —  Key  7  to 

proceed":  PAUSE  o:  IF  INKEY$<)"7"  THB4  60  TO  2 

88  CLS  5  IF  opt=5  THBi  PRINT  AT  28,s|"Key  M  to  auto-fia 
rk  ALL  files":  PAUSE  o!  LH  a^INKETt:  IF  a$="M"  im  FO 
R  HFS  TO  177:  IF  CODE  c$(ffl))m  "127"  THBI  60  TO  98 

85  IF  opt=5  ^D  a1="M"  THBi  LET  n$<ffl)="  "j  NEXT  ni  60 
TO  98 

98  as  :  PRINT  Ho; "Key: SPACE  to  nark  CKR$  to  review8  t 
0  revise  "m*("  MOVE  "  opt=l)4("RE-WME"  m  opt=3) 
*(•  ERASE  •  opi^S) 

188  PRINT  AT  28,s,,:  LET  a$=""j  DRAU  INK  sjVAL  "255",0! 
DRAW  INK  5;o,m  "175":  ORAU  INK  sjVAL  "-255", o.-  dm  I 
NK  s;o,m  "-175" 

288  LET  a=UAL  "PEEK  236354PEEK  23636»25645" :  LH  c=INT 
(a>^L  "256"). •  POKE  UAL  "23549" ,m  "195" s  POKE  m  "235 
58",a-(c«ML  "256")j  POKE  m.  "2355r,C!  LET  f  i=USR  "^L 
"23549"!  LET  row=s45:  LET  co!=WL  "9":  LET  n^c$(VAL  "17 
8",  TO  VAL  "16") 

218  IF  opt=4  THB<  PRINT  AT  t,f  j-RE-f^VIE  DISK  in  drive  8 
•;source:  INPUT  "OLD  disk  name:  •|(ni)"NEW  disk  nane:  " 
\bii  LET  /d^source:  RESTORE  /b$:  60  TO  2 

388  IF  nam  ni)='  "  THB^  LET  n$=n$(  TO  LEN  ni-s):  60 
TO  m.  "388" 

328  PRINT  AT  o,VAL  •16"-(LB<  ni/m.  "2");  OVER  s;  INK  V 
AL  "5-}n$jAT  o,m  "8"}  OVER  sj"  "j  PAPER 

0 

485  LET  L=0!  LET  f=S!  LET  c=INT  (fi/VAL  "IB"):  LET  dif= 
INT  «fiym  ■18"-c)m  •18"4WL  ".4")!  LET  loop=WL  "1 
7" 

418  LEI  q*='p»:  LET  it=S!  IF  Ioop)=fi  THBi  LET  loop=fi: 
60  TO  VAL  "425" 

415  FOR  i=5  TO  CJ  FOR  n=o  TO  loop:  PRINT  AT  row4ro,t-f ;a 
$}AT  row*ii,t-Lei  STR$  itjit}n$(it);c$(it,  TO  t)j"  '|f$(C 
ODE  ci(it,VAL  'U'hDi  LET  it=it*S!  HBCJ  m  60  SUB  m 
"588"!  NE)a  i:  FOR  i=s*s  TO  m  "19":  PRINT  AT  i,t-f ja*: 

NE)a  i:  IF  NOT  dif  THB^  60  TO  VAL  "418" 

425  IF  f  IHm  FOR  iifo  TO  dif-S!  PRINT  AT  row+iB,t-f  |a$jA 
T  ro«+n,t-LB<  STR»  it5it|n$(it)jc$(it,  TO  t)j"  •jf$(CODE 

c$(it,VAL  "11")+1)!  LET  it=itts!  HBC\  nt  IF  loop>=fi  TH 
m  LET  f=o 

427  IF  NOT  f  THBI  LET  it=fi*s 

438  60  SUB  MAL  "588"!  60  TO  VAL  "418" 

588  FOR  L=o  TO  ra-S!  PRINT  AT  raw+L,col|  IWERSE  sj">"! 
IF  qiO""  IHBi  FOR  a=s  TO  PlfPI:  NEXT  a:  LET  q^"" 

518  LET  a*=INKEYf:  IF  a$=""  THB<  LET  q$="p":  60  TO  VWL 
"518" 

512  IF  a^'8'  im  LET  !i*(it-fHL)="  ":  PRINT  AT  row4L,c 
ohSGN  PIj"  " 

515  IF  a<="  "  THBi  LET  ni(it-fi4L)="  ":  PRINT  AT  row+L,c 
oHSGN  PI|'  " 

528  IF  al=CHR$  MAL  "13"  THBi  60  TO  m  "558" 


UHDATE  MAGAZINE 


22 


CXTCBER  1988 


531  PRINT  AT  row+L.col-s-s;'    "!  NEXT  L:  LET  a«=' 

mm 

558     TO  688«(optsl)4798»<opi-3}«8ee«(opt»S) 
($88  BORDER  m  ■7'!  PAPER  INK  o!  CLS  J  INPlfT  ( 

54)'(K«)}'5tapt  MOVE  "lai!  aS  !  PRINT  FLASH  sj"  MOVING! 
DO  NOT  STOP  till  end  • 
681  FOR  ft=5  TO  m  "177* 

692  IF  CODE  dmmi  '\2?'  THEN  60  TO  m  '67V 
<i85  PRINT  AT  t,t|'Fi1es  "jh 

618  LET  d<=rt(M,  TO  t)j  LET  a=CODE  c$<M,m 'll'):  IF  N 

OT  a  AND  ii$<M)='  '  THEN  MOVE  /d$  TO  dest 
<J15  IF  a=5  m  ii*<M)='  '  im  MOVE  m  DATA  TO  dest 
428  IF  a=WL  '2"  m  ni«(M)=*  ■  THEN  MOVE  /d$  DATA  $  TO 

dest 

638  IF  a=INT  PI  AND  i$<M)=*  •  THEN  MOVE  /d»COOE  TO  dest 
648  IF  *=MAL  M-  AND  iil(M)=-  '  THB<  MOVE  /d<ABS  TO  dest 
658  IF  a=MAL  '5'  mf>  ii*<M)="  •  THEN  MOVE  /dWWL  TO  dest 
668  NEXT  H 

678  PRINT  AT  o,o,,AT  t,tj  FLASH  I5'  MOVE  OVER  *!  INPUT 
<W)}'  NEXT  MOVE  7  FOR  MB^U  'laf:  IF  a<="  THB<  P 
APER  0:  BORDER  0:  INK  7:  DIN  ii«(177,s):  80  TO  98 

688  RliN 

788  REM  Re-nane  files 

782  LET  o$='01d  name:  't  LCT  nl='New  nane:  ' 
785  FOR  HFl  TO  178 

788  IF  CODE  c$(M)>WAL  "127*  im  60  TO  9999 

718  LET  d$«c$<M,  TO  t):  LET  i=CODE  rt(M,WL  Mr):  IF  N 

OT  a  AND  ii$(M)="  '  im  INPUT  (o*}d$)'(n$)jW:  RESTORE  / 

d$TO 

715  IF  a«s  AND  ii»(M)«"  '  THB<  INPUT  (o»jdi)'<ni)jtj$:  RE 
STORE  /d$  DATA  TO  b$ 

728  IF  a=5H  AND  iii<M)=*  •  THEN  INPUT  (o$jd*)'(n*)  jl>*! 
RESTORE  /d$  DATA  $  TO  b$ 

738  IF  a=INT  PI  AND  ii$(M)="  •  THEN  INPUT  <o$jd$)'<n$)|b 
%i  RESTORE  /d$COOE  TO  W 

748  IF  a=WL  '4"  fHO  nr$(M)='  '  THEN  INPUT  (of  |d»)'(n$)} 
b$!  RESTORE  /d<ABS  TO  b$ 

758  IF  a=WL  "5"  AND  fi*(M)='  '  THEN  INPUT  (o$jd$)'(n$)j 
\Ai  RESTORE  /mi  TO  \A 
768  NEXT  M 
778  60  TO  9999 
888  RBI  Erase  files 
882  FOR  m  TO  178 

885  IF  CODE  rt<M)m  '127"  THEN  60  TO  9999 
818  LET  d$=c$<M,  TO  t):  LET  a=CODE  rt(M,UAL  Ml')!  IF  N 
OT  a  AND  iii(M)»'  '  im  EIMSE  /di 
815  IF  a^s  AND  ii«(N)»-  ■  THB4  EIMSE  /d$  DATA 
828  IF  a=s4s  AND  irt<M)=»  '  THEN  EIWSE  m  DATA  ♦ 
838  IF  a=INT  PI  AND  ii$<M)="  '  THBI  EiWSE  /d$CODE 
848  IF  a=MAL  '4'  AND  ii*<M)=-  •  im  EMSE  /dIABS 
858  IF  ir^l  '5"  AND  n«(M)»-  '  THBI  EMSE  /dm 
868  NEXT  M 

9999  GAT  :  PAUSE  588:  60  TO  2 


>DATE  MAGAZINE 


A  Conglomeration  of  QL  TIPS 
MUCHODAT 

A  crazy  title  for  a  crazy  situation.  This 
is  a  little  tip  on  FORMATTING  MICRO  DRIVE 
CARTRIDGES.  While  formatting  a  bunch  of  carts 
just  received  in  the  mail  there  were  two  that 
just  wouldn't  take  a  format.  First,  did  you 
know  tJiat  a  title  isn't  necessary  to  format  a 
mdv  cart?  format  mdvl_  ENTER  will  do  it.  I 
never  could  see  much  value  to  a  title  that  one 
never  sees  anyway.  Anyway,  after  using  a 
short  title  "dta",  as:  <  format  mdvl_dta  >  I 
had  formatted  8  carts  and  t:here  were  two  that 
were  cranky.  I  tried  about  5  formats  on  each 
to  no  avail.  Now  that  exercise  took  about  2 
hours  of  fooling  around.  Then  I  said,  "just 
one  more  time".  This  time  I  whacked  in: 
format  mdvl_muchodat  ENTER.  Lo  and  behold, 
the  cartridge  formatted  perfectly!  So  I  tried 
the  other  cranky  one,  with:  format 
mdvl__muchodat .  It  formatted  too!  Now  ain't 
that  a  crazy  one!  There  is  more.  After  that 
trick,  I  dug  up  tJiree  more  mdv  carts  that  I 
couldn't  format  before  and  had  stashed  away. 
Two  of  the  three  formatted  with  muchodat  as  a 
title.  There  is  something  fishy  bout  this! 
Maybe  theres  something  about  a  long  title 
which  makes  the  thing  format?  Beats  me!  But 
tihere's  the  tip  for  what  it's  worth. 

INITIALIZING  TRUMP  AND  SPEED  SCREEN 
IN  BOOT  PROGRAMS 

Right  now  I'm  gonna  discuss  HOW  TO  EASILY 
MAKE  YOUR  MICRO  mVJE  OR  DISK  DRIVE  BOCT 
PROGRAMS  INITIALIZE  THE  IRUMP  CARD.  If  you 
dont  have  Trump,  this  won't  be  a  dunnin  you  no 
good  unless  you  just  want  to  read  about  it. 

The  Trump  Card  has  a  lot  of  additional 
Super  Basic  Tools  to  work  for  us.  One  is  a 
routine  to  copy  a  WHOLE  mdv  cart,  all  programs 
instead  of  just  one  at  a  time.  This  can  save 
about  30  minutes  of  copying  single  files. 
First  though,  lets  ramble  a  bit. 

When  we  first  turn  on  the  computer  it  can 
see  all  of  that  additional  RAM  in  the  Trump 
card,  but  it  dont  know  nothing  about  the  new 
Super  Basic  commands  that  the  Trump  has  tucked 
away  in  its  own  ROM  chips.  Hie  whole  bunch  of 
Trump  Card  tools  must  be  initialized  once. 
Then  after  doing  that,  from  then  on  all  of  the 
extra  basic  functions  are  available  for  use. 

These  Trump  utilities  must  be  initialized 
by  a  direct  command  of:  IK2_EXT  ENTER.  Now 
if  you   allow  the    auto  boot    in  of    a  program 


UPDATE  MAGAZINE 


23 


OGTOBER  1988 


OCTOBER  1988 


UPDATE  MAGAZINE 


from  either  Micro  Drive  or  Disk  Drive,  you  may 
not  be  given  the  opportunity  to  enter  the 
1K2JXT  command.  Some  programs  just  wont  let 
you  break  in  to  do  that. 

So,  the  thing  to  do  is  to  modify  the  boot 
program  so  that  the  first  program  line 
contains  the  command:  TK2_E)Gr. 

Now  if  you  also  have  SPEED  SCREEN,  you 
should  also  add  its  initialization  command. 
That  would  be:  <  WZJEXT:  _SPEED  2  >.  Then 
the  BOOT  program  that  has  these  commands  in 
the  first  line  of  programming  should  be 
re-saved.  After  this,  every  time  you  load 
that  particular  mdv  cart  (or  disk) ,  the  Trump 
utilities  will  be  initialized  and  the  Speed 
Screen  will  be  turned  on. 

Now  you  can  go  ahead  and  TRY  to  do  that  but 
RE-SAVING  the  boot  program  will  give  you  a 
report  at  the  bottom  "already  exists".  So 
lets  be  a  showin  how  to  dun  it-  next  in  1,2,3, 
order: 

1.  RESET  the  QL  "without  a  mdv  cart" 
installed,  then  hit  Fl. 

2.  Install  a  write  enable  tab  on  the  QLVIP 
cartridge,  and  install  it  in  mdvl. 

3.  Type;  load  mdvl_boot  ENTER.  The  boot 
program  will  load  but  wont  auto  run. 

4.  Type;  list  ENTER. 

5.  Type;  edit  1  ENTER.  Now  line  1  of  the 
listing  will  appear  at  screen  bottom.  It  will 
read;  <  1  CLEAR  > 

6.  lype  onto  the  line  to  make  it  read; 
<  1  CLEAR  :'IK2_EXT:  _SPEED  2  >  Then  touch 
ENTER,  and  the  line  should  appear,  as  above, 
in  the  listing.   

7.  Type:  tk2_ext  ENTER.  This 
initializes  the  Trump  Card  so  that  the  next 
step  will  work. 

8.  Type:  save  mdvl_boot  ENTER.  Ihls 
will  execute  one  of  the  TRUMP  routines  to  give 
a  "SAVE  OVER"  an  existing  program  In  micro 
drive. 

9.  A  prompt  will  appear.  "CK  to  Overwrite? 
y/n?"    Touch  "y" 

10.  Now  your  new  boot  program  replaces  the 
boot  program  in  the  mdv  cart,  and  the  next 
time  you  use  this  cartridge  the  TRUMP  and 
SPEED  SCREEN  are  automatically  initialized. 

You  can  do  the  same  procedure  for  each  of 
your  mdv  cartridges.  I  advise  that  you  make 
back  up  copies  of  all  original  mdv  carts  and 
do  this  modification  on  the  Back  Up  copies. 

Later,  In  another  Issue,  we  will  explore 
making  a  "Library  BOOT  Menu"  utility  to  do  the 
above  Trump  and  Speed  Screen  initialization 
and  then  give  a  menu  of  MDVs  or  DISKs  in  your 
program  library  to  select  from. 


COPY  A  CQMPLEIE  MICRO  DRIVE  CARTRIDGE 
With  TRUMP 

QL  Basic  does  not  provide  simple  commands 
to  COPY  a  complete  mdv  cartridge,  only  single 
files  or  programs.  Later  in  this  issue  Bill 
Cable  will  present  a  utility  to  copy  whole  mdv 
cartridges  WIIHOirr  Trump  card  or  Sandy  board 
utilities.  This  procedure  is  for  using  the 
Trump  or  Sandy  Super  Tools  which  are  dormant 
when  you  first  turn  on  the  QL. 

First,  reset  the  QL,  and  leave  MDV  1 
vacant.  When  Fl  is  pressed,  you'll  get  the 
flashing  cursor,  which  means  that  you  can  type 
in  program  lines,  or  do  Direct  commands.  Now 
we  will  do  the  steps  with  a  few  direct 
commands  to  enter  into  the  QL. 

Flr^t  though,  INSTALL  a  formatted  mdv  cart 
In  mdvl  (with  write  enable  tab  instal led) . 
For  safety  sake,  remove  the  write  enable  tab 
of  the  new  qlwp  boot  cart  that  we  just  made 
(above),  and  we  will  copy  it.  Install  it  in 
mdv2. 

Type  In  the  following  direct  commands,  one 
after  another,  using  ENTER  after  each: 

tk2_ext  ENTER 

wcopy  mdv2_  TO  mdvl_  ENTER 

What  happens  next  is  a  prompt  with  several 
choices.  The  prompt  will  read  exactly  as 
f ol lows : 

MDV2_CL0NE  TO  MDV1_CL0NE  Y/N/A/Q 

Touch  "A"  for  ALL,    and    the    system  takes 

over  and   copies  all    files  and   programs  from 

mdvl  to  iidv2. 

Back  to  Business  with  the  C2L 

CK,  if  everything  has  worked  out,  you  now 
have  two  copies  of  your  new  QLWP  program  which 
has  the  modified  boot  program  that  comes  up 
and  initializes  TRUMP  Super  Tool  Kit,  and 
SPEED  ^3?EEN.  These  two  cartridges  are  in  the 
mlcrodrlves  and  youre  QL  is  in  the  BASIC  mode. 

Now  lets  get  the  QUILL  Word  Processor  up 
and  running.  Type:  Irun  mdvl_boot  ENTER.  Note 
that  a  while  back  we  loaded  the  boot  program 
to  modify  it  by  a  command:  <  load  mdvl_boot  >, 
which  just  loaded  in  the  boot  program  without 
letting  It  auto  run.  <  Irun  mdvl_boot  >  makes 
it  load  in  and  run.  This  time  when  the  qlwp 
boot  program  loads  in  the  TRUMP  and  SPEED 
SCREEW  will  be  initialized.  BUT,  I  am  told 
that  the  QLWP  program  does  not  use  TRUMP 
utilities.  Never  the  less,  you  can  use  these 
procedures  to  modify  boot  programs  that  do  use 
the  TRUMP  Super  TcjoIs. 


UPDATE  Mi^SAZIbE 


2.4 


OCTOBER  1988 


OCTOBER  1988 


UPDATE  MAGAZINE 


655  N.  W.  Territorial  Rd , 
Canby,  OR  97013 
July,  11  1988 


TS-2068  UP-DATE 
1317  Stratford  Ave. 


Panama  City,  FL  32404  Vv\.--*-  s/->.—  — ^.^^^^-^^.^y-^  ^ 

Dear  Bill: 

Here  are  two  articles  for  UP-DATE  magazine.     The  one  on 
using  LPRINT  CHR$  was  based  on  an  inquiry  to  John  Oliger.   I  was 
having  difficulty  in  conveniently  using  OUT  127  with  lots  of 
DATA  in  printer  graphics.  He  suggested  trying  these  two  pokes 
which  he  hadn't  used  (he  thought  they  should  work).  Well,  they 
did  the  trick  and  now  I  can  copy  programs  direct  from  source  as 
far  as  LPRINT  CHR$  is  concerned.  He  suggested  sending  you  the 
idea  if  it  did  work. 

The  second  article  is  from  a  suggestion  in  an  EPSON  printer 
manual  for  duplicating  DATA  in  printer  graphics.  Because  the 
loop  for  repeating  numbers  is  tied  to  the  numbers  produced  by 
READ,  the  same  loop  can  be  used  for  several  sets  of  repeating 
numbers.  As  an  example,  the  DATA  in  line  90  can  be  extended  from 
the  60  to  120  dots  by  duplicating  what  is  there.  Line  20  would 
be  changed  from  "60"  to  "120".  This  should  produce  a  line  twice 
as  long  by  duplicating  the  original,  and  just  by  making  these  2 
line  changes. 


Readers  who  have  programmed  in  BASIC  with  the  OLIGER 
printer  driver  use  the  LET/P=0  command  to  send  data  to  their 
large  printer.  This  command  works  fine  for  LPRINTing  text  and 
messages  but  not  so  good  for  printer  codes.  When  a  programmer 
wishes  to  use  printer  codes  the  accepted  method  is  to  go  direct 
through  port  127  by  use  of  the  OUT  command.  For  reference  see 
the  OLIGER  print  driver  manual  and  parts  of  Bill  Jones's  Smart 
Text  program  plus  UP-DATE  (Printer  Programming,  1988) 

There  is  a  way  that  follows  conventional  programming 
methods  such  as  LPRINT  CHR$  n  where  "n"  is  a  character  code 
number,  or  using  a  series  of  CHR$s  to  make  up  a  printer  code 
such  as'LPRINT  CHR$  27;  CHR$  52  (EPSON  Italics  ON).  See  your 
printer  manual  for  codes  used  by  your  printer.  Probably  examples 
are  also  displayed  in  your  manual. 

According  to  John  Oliger  the  procedure  for  using  LPRINT 


LPRINT  CHR$  WITH  OLIGER  PRINTER  DRIVER 


UPDATE  MAGAZINE 


25 


OCTCBER  1988 


CXTCBER  1988 


UPDATE  MAGAZINE 


CHR$  n  is  as  follows:  start  with  LET/P=0  and  then  make  these  2 
pokes,  23300,60  and  23001,3  in  the  immediate  mode.  Then  program 
accordingly,  possibly  try  examples  from  your  printer  manual. 
When  RUN  the  programs  should  perform  properly.  This  change  will 
not  permit  LLIST  to  be  used  so  just  use  LET/P=0  and  make  a 
LLIST.  Make  the  pokes  again  to  set  up  the  program  to  RUN.  What 
happens  is  that  these  two  pokes  turn  off  the  BASIC  TOKEN 
crunching . 

If  the  reader's  printer  provides  a  HEX  dump  capability  then 
a  simple  test  of  a  printer  driver  is  easily  made.  With  LET/P=0, 
enter  this  one  line  program: 

10  FOR  N^O  TO  255:  LPRINT  CHR$  N;:NEXT  N 

Set  up  the  printer  for  HEX  dump  (see  manual)  and  RUN.  My  printer 
puts  20  HEX  numbers  to  a  line,  from  00  to  FF,  many  incorrect.  If 
the  last  line  does  not  print  just  press  the  ON  LINE  button  to 
empty  the  printer  buffer.  Now  run  the  same  test  after  the  2 
pokes  have  been  made.  Now  I  get  a  perfect  00  to  FF  print-out.' 
This  shows  that  the  printer  driver  will  correctly  send  all  code 
numbers  to  the  printer. 


GRAPHICS  PRINTER  TRICK 


Readers  who  have  tried  any  extensive  printer  graphics 
programming  (not  a  screen  dump)  probably  got  discouraged  with 
the  amount  of  data  required  to  key  in.  Consider  that  a  printed 
figure  covering  l"xl'»  requires  60  head  pin  definitions  per  line 
and  9  lines  are  required,  making  540  definitions.  Remember  that 
a  space  also  must  be  defined. 

Often  there  are  repetative  groups  of  code  numbers  of  the 
same  values.  The  following  procedure  will  print  those  duplicate 
codes— in  the  DATA  statement  use  negative  numbers  that  denote 
the  number  of  repeats  and  the  next  number  is  the  code  to  be 
repeated.  Then  program  the  READ  command  to  send  negative  numbers 
to  a  loop  that  prints  the  required  number  of  duplicate  codes, 
then  returns  to  the  next  DATA  number. 

An  example  will  illustrate  this.  Let's  make  a  1  pin  line 
with  up-turned  ends  8  pins  high,  total  length  of  60  dots. 

10  LPRINT 

20  LET  A$*CHR$  27+»K"+CHR$  60+CHR$  0 
30  LPRINT  A$; 
40  FOR  X=l  TO  60 

50  READ  N:    IF  N<0  THEN  GO  TO  100 
60  LPRINT  CHR$  N; 
70  NEXT  X 

90  DATA  255,-58,1,255 
100  READ  R:  FOR  J=l  TO  -N 
110  LPRINT  CHR$  R; :   NEXT  J 
120  LET  X=X-N-1:  GO  TO  70 

The  reader  must  adapt  this  to  the  printer  driver  program  being 
used  and  the  printer  code  for  standard  density  60  dots  per  inch 
or  similar.  For  Oliger  systems  do  not  use  A$  as  OUT  127, n  must 
be  used  for  LPRINT  CHR$  n   (delete  line  30). 


2.6 

UPDiiTE  M«3flZI^E  OCTCBER  1988 


CXTOBER  1988 


UPDATE  MAGAZINE 


OTlie 
O  Boston 
OCoriputer 
O  Society 

One  Center  Plaza 
Boston,    MA  02108 


^  ^ 

*  BOSTOlSr  OOMPXJT3SR  SOO  I  ETY  * 
t          Heweletter  of  the  BaSTUG  (Sinclair/Tlnez  User  Group>  « 

*  Vol  7  No  5  * 


The  Slnclair/Tinez    leweletter  is 

the  official  publication  of  the 
Slnclalr/Tlmex  User  Group  of  the 
Boston  Computer  Society  (BoSTUG). 

Annual  membership  for  New  England 
residents     Is    S35.00  (otherwise 
S28.00>  per    year.  Subscription 
to  BCS/Update  and  one  other  news- 
letter Is  Included  without  cost. 


The  newsletter    has    an  exchange 
policy  with    Slnclalr/Tlmex  User 
groups    willing    to  reciprocate. 
Please  forward  exchange  Issues  to 
the  editor    pro  tem.    Peter  Hale, 
P.O.  Box  8763,  Boston,  MA  02114. 

Unless  copy  written  by  the  author, 
articles  are  in  the  public  dom- 
ain.   Attribution  is  requested. 


BoSTUG  is  a  sub  gi'oup  of  the  Boston  Computer  Society.  BoSTUG 
produces  this  nice  18  page  newsletter,  which  is  heavily  in  support  of 
the  Sinclair  QL  and  moderately  in  support  of  the  TS-2068. 
"BCS/UPDATE'  is  a  large  Magazine  published  by  BCS  for  its  members  and 
is  not  to  be  confused  with  UPDATE  Magazine,  our  name  deriving  from 
"UPDATE  COMPUTER  SYSTEMS" ,   computer  consultants. 

Two  articles  from  the  BoSTUG  Newsletter  are  re-printed  to  sample 
the  quality  and  depth  of  coverage  in  this  nice  newsletter,  ed. 


2.7 


UPDATE  MASAZI^E 


OCrCBER  1988 


REPRINT  FROM:     BoSTUG  Sinclair/Timex 
ABOUT  TOOLKIT  U 

Are     there  any    QL  owners    who  if 
they  don't    have    TK2,    have  not 
been  strongly  advised  to  get  It? 

Anyone  who  has  keystroked  COPY 
mdv2  fred  to  mdvl^fred  a  zillion 
times  to  backup  media  finds  VCOPY 
worth  the  price  alone. 

Certainly,    the  Toolkit  II  manual 
Is    a  forbidding  document.  There 
Is    no  tutorial;    Just  a    list  of 
keyword  extensions    with  limited 
and  sometimes    Incomplete  direc- 
tions on  their  use. 

There  Is  not  even  a  clue  as  to 
where  to  get  your  feet  wet,  so  a 
sampling  of  easy  and  Immediately 
useful  keywords  Is  offered  here. 

Toolkit  II    extensions    that  are 
easy  and  that  you  will  enjoy  are: 
ALARM,     CLOCK,  DLIST,  BX.  EXTRAS, 
HV,     FRBH^MEH,  RENAME,  SPL,  SPLF, 
STAT,  TK2_EXT,  VIEW,  VCOPY.  VDIR. 
VMOH,  VREN,  VTV,  and  VST  AT. 

All  can  be  explored  from  direct 
mode  and  you  can't  get  In  (much) 
trouble  (except  for  difficulty 
understanding  the  manual). 

But    a  lot  of     people  are  missing 
out    on  three    excellent  features 
incorporated    In  Tcxilklt    II:  ED, 
ALTKBY  and  last  line  recall. 

Last  line  recall  <ALT><BNTER>  Is 
usually  useful  In  direct  mode  In 
SuperBASIC.  It  recalls  all  char- 
acters since  the  last  EUTER.  Done 
several  times  In  sequence,  It 
recalls  several  lines  at  a  time. 
Once  recalled,  lines  can  be  edit- 
ed or  reexecuted.  It  also  works 
from  Psion  programs,  as  a  quick 
and  dirty  copy,  up  to  Psion's  22 
character  buffer  limit. 

ALTKBY  is  worth  exploring.     It  is 
buried    in  the  back  of  the  manual 
in    Section  21  and  little  is  said 
about  it.    Essentially  it  permits 
writing  macros.      The    syntax  Is 
ALTKBY     'x*, where  x  is  any 
one  of  the    QL's    character  set. 
In  the  example,  x  is  lower  case. 

BaSTUG  Slnclalr/Tlmex  lewsletter 

UPDATE  MAGAZINE 


Newsletter 

Everything  after  'x*.  and  within 
the  quotes  happens  when  the  com- 
bination <ALT><x>  is  pressed.  if 
<ENTER:>  Is  desired  for  executing, 
the  ALTKBY  definition  can  end 
with  ,**  (comma  and  two  single 
quotes),  which  is  <.ENT£R>. 

How  to  use  ALTKEY  is  not  concep- 
tually easy.  One  use  Is  ALTKE^Y 
•1',  CHRS(240)&'lflpl_setup',". 
This  line  Is  incorporated  in  my 
Quill  -boot.  The  same  disk  also 
has  the  file  'setup^doc'  on  It. 

Setup_doc  is  my  style  sheet  for 
correspondence.  It  has  my  return 
address,  the  date  and  salutation 
position  and  no  footer.  I  don't 
reorganize  Quill's  default  page 
each  time  I  write  a  letter;  1 
press  <ALT><1>. 

Programmers  assign  ALTKBYs  to  oft 
used  keywords  (without  an  BNTER) 
to  emulate  single-stroke  keywords 
papular  in  earlier  Sinclair's.  A 
boot  with  a  batch  of  user  defined 
ALTKBYs  and  a  final  line  NBV  Is 
run  at  the  start  of  programming. 
HBV  clears  SuperBASIC  memory  (but 
not  the  ALTKBY  definitions.) 

Finally,  there  is  ED  that  Invokes 
a    full  screen  SuperBASIC  editor. 
The  cursor    keys  move    the  cursor 
over  the  full  screen.  They  can  be 
combined  with    ALT  and    SHIFT  for 
special  effects.     It  is  easier  to 
edit  existing  programs  with  Over- 
writing (SHIFT  F4,  as  in  Quill). 

SuperBASIC    programs  often  have  a 
number    of  duplicate  or  near  dup- 
licate   lines.      Editing    a  line 
number  replicates    the  line    at  a 
new    position  and  retains  the  old 
line.       If  slight  modification  is 
required,    overwriting  speeds  any 
needed  changes. 

For  fun,  slip  in  ED  as  a  line 
anywhere  in  a  SuperBASIC  program. 
Run  it.  Predictably,  when  the 
program  reaches  ED,  it  halts  and 
goes  into  full  screen  edit  mode. 
Mow  press  <ESC>.    Vhat  happens? 

-Peter  Hale 


September/October  1988 

OCTOBER  1988 


REPRINT  FROM:     BoSTUG  Sine lair/Timex  Newsletter 


QUILL  FILfiSAVES 

Mare  than  ance,  my  QL  has  mangled 
a     long    QullI    document  through 
poor      disk    or    ralcrodrlve  l/Q. 
Either  I    removed    the  cartridge 
before    closing  a  file,  or  the  QL 
tried    to  write  part    of  the  file 
to  a  non-existent    track    on  the 
disk    or    the    QL    crashed.  The 
result    Is  the  sane  -  any  attempt 
to  reload    the    file    Into  Quill 
results     In  a  Fiia  i/Q  Inccnplete 
error,    dlsasterous  If  you  forgot 
to  periodically  backup  your  work. 

One  such  encounter  farced  me  to 
take  a  deeper  look  at  how  Quill 
files  are  stared.  I  could  do 
this  with  "BGEP',  which  reads  a 
single  byte  from  a  file.  Most 
disk  systems  and  toolkits  have 
this  command. 

I  used  BGET  to  print  out  the 
numeric  value  of  every  character 
In  my  partially-corrupted  Quill 
file  to  learn  Its  structure  and 
so  recover  at  least  part  of  It. 

The    most  striking    discovery  was 
that  Quill    files    use    the  Null 
character    ICURSCO)]  In    place  of 
Carriage  Returns.    I  also  noticed 
that    a  good  portion  of  the  QulXl 
file  Is    formatting  Information, 
stored  towards    the    end    of  the 
file.      It  Is  mostly  strange  con- 
trol characters.  All  the  text  was 
present,    but      some  formatting 
Information  wais    cut    off  during 
the  Incomplete  SAVE. 

1  tried  renaming  the  file  with  a 
_LIS  extension  and  Importing 
that,  but  Quill  didn't  like  the 
NUL's  and  stopped  Importing  the 
file  at  the  first  occurance  of  a 
NUL. 

So     I  had  to  figure    out  a  way  to 
extract    the  'text'  portion  of  my 
document      and    re-wrlte       It  as 
straight  ASCII.    BPUT  came  to  the 
rescue    and    the    result     Is  the 
listing  below.       In    a  nutshell, 
the  program  reads  a  byte  from  the 
damaged  file  In  channel  ir5.  If  It 
Is  a    null,     It's    changed    to  a 
carriage     return  lCHR»(13)3j  If  a 


control    character       (less  than 
SPACE     £CHR*<32^J  but  not  CR>.  It 
Is  changed  to  a  space.  Otherwise, 
It  Is    a  regular    ASCII  character 
and  left  as  Is. 

The     now  ASCII  character  is  writ- 
ten to  the  new  file  in  channeled. 
The    character  Is  also  printed  to 
the  screen  so  you  can  watch  as  It 
goes  through    the  file.    Then  the 
loop      repeats      for      the  next 
character  until  there  are  no  more 
characters  to  read.     Vhat  is  left 
Is  a  plain  text  file  which  can  be 
Imported     Into  Quill.     I  was  able 
to  recover    a     15    page  document 
this  way,  though     It     took  about 
ten  minutes  to  do  so. 

Hopefully    you  will  never  need  to 
use    this  utility,  but  If  you  do, 
here  It  Is. 

-  Jim  Rodlln 

10  EEMark  "Fllesaver" 
20  REMark  Corrupted  Quill  file 
30  REHark      recovery  utility 
40  REHark  by  Jim  Rodlln 

90  REMark      Requires  Toolkit 
60  REMark  commands  BGET  &  BPUT 
dO  REMark  In  the  public  domain 
90  REMark  Attribution  requested 

100  FLP^EXT:  REMark  or  TK2_EXT 
enable  extended  command  set 

110  CLS 

120  0PEN#5,  "mdv2_MYFlLE_doc" 

:  REMark  file  to  save 
130  0PEH_NEV#6,  "mdvl_BBS_lls" 

:  REMark  output  ASCII  file 
140  REPeat  loop 

150    BGET#5,  a%:  REMark  get  byte 

and  put  In  a% 
160     IF  a%  «0  THEN  LET  a'/i  =13 

REMafk  convert  null  to  CR 
165    REMark  replace  all  control 

chars  with  SPACE 
170     IF  a%  <32  AND  a%  013  THEN 

LET  a%  =32 
180    REMark  print  character  to 

screen  for  visual  feedback 
190     IF  a%  »13  THEN  PRINT 

:  REMark  Carriage  Return 
200     IF  a%  013  THEN  PRINT 

CHRS(a'/&>: 
210    BPUT#6,  a%:  REMark  write 

ASCII  byte  to  _LIS  file 
220  END  REPeat  loop 


BaSTUG  Slnclalr/Tlmex  Newsletter 

UPDATE  MAGAZINE 


September/Octaber  IQaa 

OCrCBER  1988 


OCTOBER  1988 


UPDATE  MAGAZI^E 


By:  Bill  Jones 


Here  we  gol  Iteing  a  beginner  myself  with  the  QL,  I  am  a  bit  intimidated  by  the 
thought  of  writing  an  instructional  series.  I  hope  that  those  of  you  who  are 
better  qualified  will  Koreckt  my  mistooks,  and  broaden  upon  the  subjects  covered. 
Then  the  subscribers  will  benefit  from  your  inputs.  So  dont  think  that  I  will  be 
offended  by  feed  back  that  tells  me  when  I'm  wrong  and  gives  more  detail  to  the 
coverage.  We  want  a  interchange  of  prograiraning  information.  IF  there  are  8000  QL 
users/  THEN  4000  KNOW  SOMETHING  that  I  dont.  THEN  IF  half  contribute,  it  is  .  sure 
that  at  least  4000  will  gain  more  knowledge.    Thats  what  its  all  about. 

This  will  be  a  continuing  feature  article.  It  will  grow  in  complexity  as  the 
scribe's  proficiency  grows.  Right  now,  the  scribe  has  about  30-40  hours  experience 
operating  the  QL,  so  it  isn't  likely  that  you'll  find  anything  that  is  "above  your 
head"  in  these  first  few  episodes.  In  fact  I  am  strevin  and  strovin  to  make  the 
QLWP  program  zap  this  stuff in  onto  the  paper.  WHICH  makes  a  good  starting  point. 
Lets  get  started  now  covering — 


HOW  TO  DO  IT  WITH  QLWP 


IF  you  have  dug  around  as  I  have  between  the  four  sections  in  the  back  of  the  QL 
manual,  you  know  that  these  books  were  not  written  in  a  1,  2,3,  sequence  that  lets 
you  get  right  to  it.  I  believe  that,  for  this  discussion,  we  should  start  with  the 
printer  itself.  If  you  have  a  SERIAL  printer,  just  connect  the  cable  directly  to 
the  SER  1  or  SER  2  port  at  the  back  of  the  QL.  Lets  use  the  SER  1  port.  But  if 
you  have  a  PARALLEL  printer  you  will  need  one  of  the  Parallel  interfaces  connected 
between  the  printer  and  the  QL  SER  1  port.  I  was  most  successful  by  setting  the 
printer  to  its  start  up  initialization  set  up,  ie,  no  margins  set,  no  LINE  FEED,  no 
auto  PAGE  end,  and  ELITE  96  character  lines,  and  66  lines  per  page..  These  are 
"dip  switch"  settings  on  the  printer  itself.  Later  we  can  come  back  to  the  printer 
switch  setting  if  we  need  to.  Generally,  most  users  do  not  know  enough  about  their 
printer,  and  there  is  a  need  to  study  the  printer  manual  to  know  how  to  set  it  up 
for  the  best  printing. 

Now  that  we  "think"  that  the  printer  is  set  up  right,  lets  turn  it  off.  Turn  ON 
the  QL  and  keep  Micro  drive  #1  VACANT  until  the  Fl  Key  has  given  you  the  blinking 
cursor.  Then  INSERT  a  blank  MDV  cart  in  either  of  the  slots  and  FORMAT  it.  Now 
that  may  be  a  problem  for  the  first  time  user.  Most  of  the  MDV  carts  in  use  are  the 
ones  that  have  had  the  "write  enable"  tab  removed.  If  you  are  accustomed  to  using 
disk  drives,  the  MDV  cart  is  "write  protected"  by  REMOVING  the  tab  that  covers  the 
little  triangular  notch  in  the  right  hand  edge  of  the  cart  "as  you  are  looking  down 
on  the  label".  In  order  to  FORMAT  the  MDV  you  need  to  cut  a  thin  piece  of  tape  to 
stick  over  the  notch.  I  find  that  the  best  tape  to  use  is  a  piece  of  Disk  Write 
Protect  tab,  cut  across  with  scissors  to  be  just  slightly  thinner  than  the  width  of 
the  shoulder  of  the  MDV  cartridge.  This  way,  the  tab  is  not  rubbed  off  when  it  is 
inserted  in  the  micro  drive.  Once  the  "write  enable  tab"  is  installed,  the  mdv  cart 
will  FORMAT,  with  the  command:  FORMAT  mdvl__buwp  Bu  indicates  that  it  will  be  a 
Back  Up  cartridge  for  QLWP.  Format  the  mdv  cart  TWICE,  using  the  same  procedure. 
From  what  I'm  told  the  mdv  cart  will  be  more  reliable  if  it  is  formatted  twice. 

Next,  we  want  to  make  a  back  up  copy  of  the  Word  Processor  cartridge.  Do  that 
by  installing  the  original  cart  in  mdvl  and  the  one  just  formatted  in  mdv2.  Type 
dir  mdvl__  and  touch  ENTER.  The  directory  of  the  master  cart  in  mdvl  will  appear 
on  screen.  Then,  using  the  directory  as  a  guide,  copy  each  file  listed  in  the 
director/,  using:  COPY  mdvl_name  TO  MDV2__  After  all  files  have  been  copied  stash 
away  your  master  Word  Processor  cartridge  for  safe  keeping. 

Now  we  are  ready to  go  to  work.    Now  install  your  back  up  cart  you  just  made  into 
the  MDVl  slot.    Next  we  will  setup  the  software  for  your  printer. 


UPDATE  MAGAZINE 


30 


OdCBER  1988 


OCTOBER  1988 


UPDATE  MAGAZINE 


Taking  a  little  break  from    the    details,     the    first    page    did    print,     so  I'm 
becoiraning  an  expert  fast!    Well,  not  quite,  as  I  really  didn't  want  that  page  number 
and  I    dont  know  how  to  kill  it.    Anyway,  for    the  most  part  it  does  prove  that  I've 
been  the  route  that  I'm  about  to  tell  you  about,  which  is — 


HOW  TO  CONFIGURE  FOR  PRINTER 


Now  what  we're  gonna  do  is  to  CHANGE  part  of  the  QLWP  software  to  make  the  word 
processor  print  with  the  type  of  printer  that  you  use.  Dont  worry  about  making  a 
mistake,  as  nothing  you  do  will  hurt  the  software,  and  besides,  you  are  working  with 
a  back  up  copy.  Your  equipment  status  should  be:  NO  micro  drive  cart  installed —  A 
RESET  QL,  Fl  touched  to  give  the  blinking  cursor —  PRINTER  OFF,  When  you  have  that 
status,  then:  INSTALL  the  QLWP  back  up  cart  in  drive  1.  Type;  Irun 
ndvl_installj3as  ENTER.  Wait  until  the  first  menu  comes  on  screen,  and  THEN: 
follow  the  prompts  to  select  the  PRINTER  TYPE.  Usually  this  is  all  that  is 
required.  But  I  had  to  be  differenti  I  use  a  DAISY  printer  that  has  the  Diablo 
corapa table  command  set.  So,  after  quiting  this  install_bas  program,  the  printer 
would  kick  up  6  lines  before  starting  to  print,  print  3/4  of  a  page  and  then  print 
the  page  number.  Now  tell  me  WHO  wants  that  kind  of  a  page  of  print?  SO,  back  to 
<lrun  mdvl_install_bas>  again-  and  again-  and  again.  Next  day,  I  called  ole  Bill 
Cable  and  got  straightened  out.  Now  this  mought  help  you  too:  "READ  THE  DURN  QUILL 
SECTION"-  all  of  iti  The  durn  install_bas  program  was  set  up  right  after  all.  The 
problem  was  in  my  not  understanding  how  to  trapsy  about  in  the  WP  menus  to  DESIGN 
the  page.  So,  what  I'm  telling  you  is  that  the  procedure  of  setting  up  for  your 
printer  should  work  out  OK.  When  finished,  what  you  have  done  is  to  bring  up  YOUR 
printer's  command  set  as  the  one  which  will  boot  in  when  you  use  QLWP  and  select 
PRINT  at  the  word  processor  menu.  After  you  select  your  printer  type,  the  mdv  runs 
and  re-records  your  printer  set  up  so  that  it  boots  in  for  printing.  Later,  you  can 
go  back  and  Irun  the  install  program  again  to  set  up  for  a  different  printer.  Now 
that  we  have  that  done,  lets  create  a  document  with  the  word  processor  program  


WORKING  WITH  QLWP 


Insert  you  back  up  copy  of  QLWP  in  mdvl,  and  RESET,  When  the  QL  has  reset,  Fl 
starts  the  program  loading  and  you  have  time  to  pour  a  cupa  while  waiting.  Now 
there  isn't  any  point  in  draging  this  out,  as  the  WP  works  very  well  with  its  menus 
^  guide  you.  The  important  part  is  to  use  F3  to  get  the  COMMAND  menu  and  set  up 
the  page  with  D-Design  and  M-Margins.  Likely  you  wont  need  to  use  H-Header,  as  this 
is  a  repeating  header  for  every  page.  To  do  a  single  header,  I  find  it  best^Atype 
the  header  and  back  up  with  the  arrow  key  to  its  start,  then  pad  in  spaces  to  center 
the  header.  Then  run  the  cursor  to  the  end  of  the  header  and  use  ENTER  to  shift  to 
the  next  line.  When  ready  to  print,  F3  again  gets  the  COMMAND  MENU,  where  P-PRINT 
will  start  the  printing  sequence.  Nbw  we  will  move  on  to  another  way  to  use  the 
QLWP  program  for  doing  controlled  LISTings  of  programs. — 


USE  QLWP  for  LLISTings 


Some  folks  never  need  a  paper  listing  of  software.  But  others  need  to  do  that 
quite  often.  One  can  get  a  LLIST  in  the  direct  mode  (cursor  flashing)  by:  <OPEN 
M/Serlc:BAUD  9600:LIST>.  This  makes  LIST  go  to  the  printer.  BUT-  The  listing 
splatters  across  the  whole  page,  96  characters  wide  if  thats  what  the  printer  is  set 
at.  Most  printers  wont  let  you  confine  print  with  printer  settings  to  less  than  64 
characters  per  line.  I  particularily  need  to  LLIST  at  controllable  line  width  for 
printing  listings  in  UPDATE.  So,  back  to  the  phone  for  answers.  Ole  Mark,  at 
Sharps  Inc.  does  more  than  just  sell  QL  stuff.  He's  a  programmer  too,  and -he  told 
me  how  to  do  it  with  the  QLWP  software.    Here  it  tis  

Load  the  QLWP  program  with  Fl.  Then  use  F3  to  get  the  Command  menu.  Punch 
0-Other,  then  I-Import.  Next,  the  prompt  appears  to  key  in  a  MDV  file  to  load. 
Input  <mdvljiame>  and  the  next  prompt  asks  for  "by  line?".  Touch  ENTER  at  this 
point  and  the  program  lines  load  into  the  Word  Processor  as  a  ASCII  file. 


UPDATE  MAGAZINE 


31 


OCrCBER  1988 


OCrCBER  1988 


UPDATE  MAGAZINE 


After  a  short  while  the  entire  program  listing  will  load  into  the  Word  Processor 
and  the  program  lines  will  appear  almost  like  you  would  see  them  in  the  Basic  made. 
But  the  listing  is  TEXT/  and  can  be  formatted  as  text.  Hit  F3  for  the  Oonroand  wenu, 
then  D-Design,  then  M-Margins/  and  set  the  margins  for  whatever  line  length  you  want 
to  print  the  program  listing.  Then  F3  again  to  P-PRINT.  Thats  all  there  is  to  it! 
AND  alia  tine  I  was  digging  through  the  manual  trying  to  find  a  RAM  address  to  POKE 
to  get  shorter  lines  in  a  LLIST.    This  is  a  better  way  after  all.. 

By  the  time  the  next  issue  rolls  in  maybe  I  will  have  learned  a  bit  more  to 
present  in  this  QL  BEGINNER  COURSE.  If  you  have  things  that  you  are  bothered  about 
with  the  QL,  but  are  ashamed  to  ask,  this  is  the  forum  for  discussing  them.  I'll 
even  let  you  remain  anonymous.    See  you  next  issue 1 


A  QL  PRINTING  PRIMER 

Here  is  a  little  tutorial  for  setting  up  the  QL  to  print  to  paper  "without  a  word 
processor".  It  does  not  do  much  but  print  un- formatted  lines  to  the  left  margins  as 
set  at  the  printer.  But,  it  will  demonstrate  how  to  make  a  printer  print  with 
simple  programming.  You  can  key  the  lines  in  and  operate  it  with  either  RUN  or  GO 
'ID  5.  Line  10  gets  the  INPUT  typing  routine  at  line  200.  Then  when  finished,  ENTER 
executes  the  RETurn  at  line  220.  Then  line  20-28  presents  a  menu  of  options.  When 
<1>  PRINT  is  elected,  the  typing  data  is  printed,  and  the  program  repeats  to  get  the 
next  typing  burst. 

The  tutorial  about  "output  to  the  printer"  begins  at  line  50,  which  executes  when 
<1>  PRINT  is  elected.  <0PEN  #4,serlc>  OPENS  the  CHANNEL  to  the  printer  "through 
Serial  Port  1".  Then  the  "baud  rate"  is  set  to  9600.  Line  60  then  uses  <PRINT 
#4,a$>  to  print  the  data.  <print  "#4">  directs  the  print  to  the  "channel  that  was 
opened".  Look  at  the  lines  70  and  80  which  executes  the  other  two  print  options, 
for  "line  space"  and  "LIST  to  Paper". 

When  <5>  QUIT  is  elected,  line  300  executes,  and  is  important  to  note.  When  a 
CHANNEL  has  been  OPENED,  Channel  #4  in  this  case,  the  channel  should  be  CLOSED  when 
finished.  There  are  many  CHANNELS  to  route  the  computer's  tasks  though.  Each 
channel  should  be  OPEN  only  for  the  task  to  be  accomplished,  and  if  the  channel  is 
not  CLOSED  afterward  then  the  next  task  to  be  accomplished  could  be  sent  to  the 
wrong  OPEN  channel. 


The  Print  Tutor  Listing 

5  CLS 
10  GO  SUB  200 

20  PRINT  "Options :"\\"<1>  Print  the  data"\ 

22  PRINT  "<2>  Line  Space "\ 

24  PRINT  "<3>  INPUT  New  Data"\ 

26  PRINT  "<4>  LLIST"\ 

28  PRINT  "<5>  QUIT"\ 

30  INPUT  a:CLS 

40  IF  a=3  THEN  GO  TO  10 

50  OPEN  #4,serlc:BAUD  9600 

60  IF  a=l  THEN  PRINT  #4,a$ 

70  IF  a=2  THEN  PRINT  #4,\ 

80  IF  a=4  THEN  LIST  #4 

90  IF  a=5  THEN  GO  TO  300 

100  CLS: GO  TO  20 

200  PRINT  "Type  the  Data"\\ 

210  INPUT  a$ 

220  CLS: RETURN 

300  CLOSE  #4: STOP  3.2 


The  programming  at  left  could  be 
condensed  a  lot  by  chaining  the 
different  programming  commands 
using  a  colon  between.  For 
example,  all  of  the  lines  from  line 
5  through  30  could  be  inclosed  in 
one  longer  line  of  programming.  I 
used  extra  lines  in  order  to  make 
the  tutorial  easier  to  decipher. 

Also,  the  IF  THEN  conditionals 
used  are  in  "simplese"  basic  syntax 
which  the  QL  reacts  to  nicely.  You 
can  use  almost  all  of  the  simple 
Basic  syntax  of  the  older  computers 
with  the  QL,  which  makes  it  a  very 
easy  computer  to  adapt  to.  We  will 
ease  into  Basic  and  Super  Basic 
as  this  series  continues. 


UPDATE  MAGAZINE 


OCTCBER  1988 


OCTOBER  1988 


SINC-LINK 


UPDATE  MAGAZINE 


Vol.  5  No.  4 


JULY  -  AUGUST  '88 


SINC-LINK  IS  fl  PUBLICATION  OF 
THE  TORONTO  TIHEX-SINCLAIR  USERS 
CLUB  AND  IS  ISSUED  5  TIMES  A 
YEAR.  COPIES  OF  THE  NEUSLETTER 
ARE  $1.59  EACH  FOR  N0N-HEHBER5. 
CLUB  HEMBERS  RECEIUE  A  FREE  COPY 
AS  PART  OF  THE  $28.08  ANNUAL 
HEHBERSHIP  FEE. 


NEUSLETTER5  ARE  EXCHANGED,  FREE 
OF  CHARGE,  yiTH  OTHER  TIHEX- 
SINCLAIR  USER  GROUPS. 


ALL  MflTERIRL  15  PUBLIC  DOMPIN 
9SS,.^"ii.  REPRINTED-  PLEASE 

^"^S  PUBLICm-ION  AND  THE 
AUTHOR     IF  YOU     COPY  MATERIAL. 


HIGHLY  RECOMMENDED! 

The  Toronto f  Cf^NP^Dfk  Sinclair 
User  Club  is  one  a-F  the  mast 
active  clubs  in  North  America. 
Tno  a-F  UPDATE' s  best  writers  are 
mainstays  a-F  the  Toronto  Group, 
Bab  Mitchell  and  George  Chambers^ 
SINC  LINK,  the  club  newsletter, 
is  an  excel  lent  source  oF 
i  nFarmation.  The  Toronto  User 
Group  has  many  USA  members  and 
hie  I  came  mare. 

ONTARIO  QL  USERS  TAKE  NOTE! 
Jain  the  Club  and  Form  a  special 
interest  group  htithin  this  . 
Sinclair  Special  interest  Club! 
Club  membership  and  participation 
is  the  best  route  to  tal<e  For 
continuing  to  learn  more  about 
your  computer.  -ed. 


De^r  Bill  I 


•TORONTO  TIMEX  -  SINCLAIR  USERS  CLUB- 
p.  0.  Bos  7274  Sfn.  A  Toronto,  Out.,  M5W  1X9 


1  sa  sorry  for  the  delay.  The  heat  is  getting  to  me  and  I  have  been  lax 
in  ay  duties.  Enclosed  is  a  little  discription  of  our  group  as  you  asked 
for. 

Our  group  is  called  Sinclair  nHnaukee  Users  Qroup  also  called"  SHUQ.  He 
Nere  established  in  1993  and  ttork  ktith  all  forms  of  the  Sinclair  computers 
and  their  clones.  He  have  2X$0's,  ZX$l's,  TSJSOO's,  75206$' s.  Spectrum's 
and  Spectrum  emulater's,  and  the  QL.  He  are  in  contact  ktith  22  other  Users 
Qroups  around  the  U.S.  and  Canada  and  snap  newsletters  Mith  them. 

He  meet  once  a  month  on  the  second  Hednesday  of  the  month,  our  next 
meeting  is  July  13,  19$$.  The  place  we  meet  is  in  Elm  Qrove  Hisconson,  a 
suburb  of  Milktaukee,  and  called  iferbrics'  Inn,  He  chose  them  because  of  the 
hall  size  and  centralized  location. 

Our  membership  fee  is  $15  for  the  individual  or  $20  for  a  family.  This 
entitles  you  to  library  privileges,  you  must  check  them  out  in  person,  our 
net^sletter,  you  can  pick  this  up  at  the  meeting  our  supply  us  with  SftSE's 
and  I  Nil  I  mail  them  to  you.   The  newsletter  has  a  subscription  rate  of  $10 
per  year,  this  includes  mailing. 


UPDATE  MAGAZI5E 


33 


OCTCBER  1988* 


UPDATE  MAGAZI5E 

nSCRIPT  VERSION  S.3  FOR  URKEN  DOS 
SOnUARE  REVIEU  by  Bob  IlitchBlI 
880814 

My  long-awaited  copy  of  Version  5.3  of  HSCRIPT  by  Jack  Oohany  finally  arrived  early  in  June  of  this  year.  Because  I 
had  told  hin  that  I  was  using  a  non-standard,  earlier  version  of  the  Larken  DOS,  he  sent  the  progra*  on  cassettot  to  be 
on  the  safe  side.  1  was  delighted  to  find  that  a  back-up  on  disk  was  readily  Mde  by  selecting  DISK  on  the  nain  wnu  and 
then  pressing  B. 

Docuaentation  was  on  paper  and  the  only  other  program  on  the  cassette  was  the  LCODES  text  which  contains  all  the 
various  codes  that  a  wide  printer  would  recognize.  I  understand  that  the  disk  version  contains  all  the  docuaentation  as 
files. 

The  lain  problem  that  I  had  had  with  ny  earlier  version  ilSST  was  one  of  the  printer  dropping  characters  every  now  and 
then.  This  problei  has  been  resolvedi  I  a»  happy  to  report. 

The  cost  to  M  for  the  nev  version  was  US$2S  which  included  $5  for  Miling  and  handling.  The  prograt  is  so  audi  better 
than  the  earlier  version  that  I  was  happy  to  pay  the  price. 

Here  are  soae  features  of  HSCRIPT  (not  necessarily  in  order  of  inportance)  that  eake  the  prograa  quite  attractive  and 
■ake  M  a  convert! 

1.  Finding  and  Changing  any  string  of  up  to  30  characters  is  siaple  and  very  fast. 

2.  Headers  and  Footers  (titles  at  the  top  and  bottoii  of  each  page  of  a  docuoent)  are  easy  to  add. 

3.  rtoving,  copyingi  deleting,  saving  and  loading  blocks  of  text  is  fasti  easy  and  very  professionali  with  larkers  used 
to  identify  the  block  to  be  worked  on. 

4.  The  cursor  noves  very  fast  across  the  page.  There  is  also  a  tab  feature  that  is  very  useful  when  developing  tables 
and  lists. 

5.  When  aaking  a  back-up  copyi  it  is  optional  to  include  the  text  as  part  of  the  back-ups  ideal  for  aaking  a  version 
that  includesi  say.  a  letter  head  for  page  1.  If  you  want  to  uke  a  LARKEN  AUTOSTART  copy*  this  can  be  done  fay  using 
<CLEAR  4S0QO:RAND0nnE  USR  i02:RUN>.  You  have  to  CLEAR  a  higher  address  if  you  include  any  text  in  your  save. 

6.  View  Henory  allows  you  to  PEEK  and  POKE  the  contents  of  Mnaryl  this  starts  at  the  LCOOE  file  which  is  handy  if  you 
want  to  inspect  and  change  any  printer  control  codes. 

7.  The  naAB  of  the  text  you  are  working  on  appears  on  the  bone  eenu.  I  find  this  to  be  very  useful  particularly  as  I 
hop  froe  text  to  text  fairly  often.  It  let's  ne  know  where  I  ai  at  the  Mnent.  The  GIVE  NAHE  comand  alloMS  you  to 
assign  or  change  the  naee  of  your  text  at  any  tiae. 

a.  There  is  an  alternative  fattened  character  set  that  takes  reading  the  text  on  ay  aonitor  such  easier.  The  use  of 
different  screen  colours  is  restricted  by  the  TS2Q68  hardware  and  I  have  settled  on  white  ink  on  black  paper  as  the  best 
for  M. 

9.  The  disk  catalogue  in  the  selected  drive  can  be  added  to  the  text  in  progress.  The  drive  is  selected  by  entering  a 
nuaber  froa  0  to  3  (iet  1  to  4  respectively).  The  LARKEN  Raadisk  is  selected  with  <4>  and  this  can  be  accoaaodated 

easily  by  changing  lines  131  and  132  in  the  BASIC  with  no  addition  to  the  BASIC  length. 

10.  The  new  LARKEN  Version  3  EPROM  uses  the  token  nSNE  to  call  a  file  renaae  routine  and  this  was  easily  added  to  the 
hoae  aenu  by  a  few  lines  at  line  220  in  the  BASIC.  Hatch  out  for  an  out  of  aeaory  report  here.  I  bad  to  sacrifice  lines 
420  to  440  (VERIFYi  which  I  seldoa  use  anyway)  to  nake  rooa  for  this. 

U.  I  like  being  able  to  put  cooaent  lines  in  the  text  to  serve  as  reainders  to  ae  and  that  won't  appear  in  the 
printout.  Tab  settings  are  one  exaaple  as  you  have  to  reset  these  whenever  they  default  to  their  noraal  settings. 

One  thing  that  could  be  better:  It's  too  easy  to  stutter  in  aore  spaces  than  wanted  when  entering  text.  Hoveveri  on 
right  Justification!  these  extra  spaces  are  not  really  noticed. 

nSCRlPT  is  a  totally  different  word  processor  froa  TASUORD  which  I  have  used  for  soae  tiae  and  which  has  its  devotees. 
But  there  are  so  aany  advantages  to  HSCRIPT  that  I  have  be^un  to  switch  over  to  it  for  ay  word  processing  tasks.  Once 
you  get  used  to  the  protocol  and  press  the  right  keySf  HSCRIPT  is  Just  as  easy  to  use  as  TASUORD  and  a  lot  aore 
rewarding.  I  recoaaend  the  purchase  of  HSCRIPT  Version  5.3  and  look  forward  to  experiaenting  with  Version  6  when  it 
coMS  along.  Hurry  upi  Jack!  _  , 

3.4 

UHDATE  MAGAZIJE  CXItXER  1988 


REPRINT  FROM  SYNC  LINK 


2068 

LARKEH  RAMdlsk  for  the  TS  2068 
by  George  Chambers 


Our  last  newslettar  carried  an  article  by  Greg 
Lloyd,  describing  a  RAMdIsk  unit  that  he  had  recently 
obtained  from  Larken  Electronics.  I  have  recently 
purchased  one  of  these  units,  and  should  like  to  tell 
something  of  my  programming  experiences  Kith  It. 

Firstly,  when  1  got  It  I  could  not  figure  out  how  to 
use  It  effectively.  After  all,  while  it  can  conUIn  a 
total  of  256K  memory,  mine  only  came  equipped  with  64K 
and  there  really  Is  a  limit  as  to  how  many  program  one 
can  hold  with  that.  Which  programs  should  I  place  on 
It.  etc? 

On  top  of  that  I  already  had  a  second  drive  on  my 
system  that  seemed  to  be  only  used  when  I  wanted  to 
copy  a  program.  Of  what  use  was  another  bit  of 
expensive  memory.  And  It  Is  expensive,  if  compared  to 
the  memory  capacity  of  a  disk.  A  disk  will  hold  360K 
and  costs  about  65  cents.  A  32K  SRA/4  chip  costs  about 
$15.  And  the  RANdlsk  Is  really  a  solid-state  drive, 
not  a  memory  expansion  to  your  computer.  That  is  to 
say,  you  still  have  only  38IC  of  memory  in  your 
computer  to  play  with.  The  RAMdIsk  memory  is  not 
bankswttched  in  to  the  computer:  it  It  loaded  Into  the 
computer  memory  the  same  as  from  a  conventional  drive. 

However,  despite  this  unpromising  prospect  I  have 
found  a  very  fascinating  application.  What  I  have  done 
Is  to  place  58  of  my  most  useful  utility  files  on  a 
single  disk  (I  call  it  my  OMNIBUS  disk),  and  Installed 
it  In  my  second  drive. 

I  then  placed  the  several  menus  (the  menu  program 
listing  in  the  Nov/Oee  '87  Issue  of  this  newsletter) 
required  to  access  these  files  into  the  RAMdIsk.  In 
the  beginning  I  had  one  AUTOSTART  (menu)  program,  and 
several  other  menu  programs  i.e.  menu. 81,  menu.B2, 
etcthat  1  called  up  from  that  AUTOSTART  menu.  I 
found  that  presently  I  had  used  7  of  the  12  available 
tracks  on  my  RAMdIsk;  horribly  extravagant.  (The 
RAMdIsk  uses  the  same  tracks  format  of  the  other 
drives) 

It  was  then  suggested  to  roe  that  I  combine  several 
menus  into  one  program.  This  made  sense,  because  as  It 
was  I  was  storing  a  program  of  about  ISOO  bytes  onto  a 
5090-byte  track.  The  other  bytes,  3410  of  them,  were 
lost.  I  started  combining  menus  onto  a  single  program, 
and  now  I  have  5  menu  screens  combined.  More  will 
follow.  I  use  a  menu  option  to  move  to  the  various 
menus. 

(tost  of  the  programs  themselves  are  on  the  OMNIBUS 
disk,  installed  more  or  less  permanently  In  the  second 
drive,  and  are  called  up  from  the  menus  obtained  from 
the  RAMdIsk.  Mhere  a  program  is  called  up  that  resides 
on  other  than  the  OMNIBUS  disk,  the  menu  displays  a 
request  onscreen  for  that  disk  to  be  placed  into  the 
first  drive,  PAUSE'S  until  you  indicate  'ready*  by  a 
keypress,  then  loads  from  that  drive. 


Larry  Kenny  has  revised  his  DOS  EPROM,  yiy<ng  a  new 
connand  which  has  proved  very  useful  in  this 
application.  The  format  of  this  conmand  is  PRINT  USR 
lOOt  NEW  (or  PRINT  f4s  NEU).  This  provides  a  'warm' 
AUTOSTART  capability  to  the  DOS. 

I  use  It  this  way.  I  have  modified  many  of  my 
programs  to  provide  an  exit  from  the  program.  The  exit 
normally  would  take  you  to  a  STOP  command.  To  use 
this  new  OOS  conmand  I  terminate  a  program  to  the 
following  line  sequence. 

LINE  9000     PRINT  f4t  GOTO  4:  PRINT  14:  NEW 

The  'GOTO  4*  points  the  OOS  toward  the  RAMdIsk  and  the 
*NEH*  initiates  an  AUTOSTART  routine  in  the  RAMdIsk  to 
bring  up  the  'menu'  program.  The  effect  Is  to  bring  up 
the  OMNIBUS  disk  menu  at  any  time  from  within  a 
program  with  a  single  keystroke.  Note  that  this  new 
command  Is  for  all  drives;  it's  use  is  not  confined  to 
the  RAMdIsk. 

This  new  OOS  command  also  offers  another 
interesting  programming  possibility.  Invoking  the 
'PRINT  #4:  NEW*  conmand  will  bring  up  an  AUTOSTART 
program  in  the  drive  to  which  it  is  pointed.  It  does 
this  without  shutting  down  the  computer.  Thus,  any  M/C 
program  presently  In  the  computer  (so  long  as  it  is 
not  overwritten  by  the  AUTOSTART  program)  remains  in 
place  awaitlno  ute. 

Larry  advises  that  this  command  Is  In  Version  2  of 
his  OOS  EPRON.  Before  you  all  rush  out  and  ask  him  for 
It,  I  suggest  that  you  wait  until  he  has  had  a  chance 
to  Incorporate  some  other  features  into  the  OOS,  that 
he  speaks  of  doing.  Improvements  to  the  printer 
driver,  and  changes  to  the  NMI  routine,  I  have  heard; 
asnng  others* 

Now,  I  could  hardly  reconmend  that  everyone  go  out 
buy  one  of  these  RAMdIsks.  But  what  I  have  found  is 
that  for  those  persons  with  two  drives  it  certlanly 
maximises  the  use  of  the  second  drive.  And  It  most 
assuredly  reduces  the  number  of  keystrokes  required  to 
operate  the  Larken  system,  plus  reducing  the  number  of 
drive  startups  by  possibly  a  half.  And  of  course  it  is 
silent  and  speedy,  when  compared  to  a  regular  drivel 


Newsletters  need  news! 
Write  and  tell  us  what 
you  knowl 

Anything  (almost! ) 
will  be  printed 


UH)ATE  MAGAZI^E 


SIHC-LINK  3  5 


OCTCBER  1988 


OCrCBER  1988 


UPDATE  MAGAZINE 


REPRINT  FROM  SYNC  LIN^^''^'^''^'^  ^  ''^^^^^  ^ 


OPEN  0,    CLOSE   Ih    CHANNELS  &  STREAMS  -  A  TUTORIAL 

Let's  delve  into  the  mysster ious  realm  of  channels  and 
streams  and  those  two  odd  tokens  OPEN  and  CLOSE 
TliesB  two  commands  are  extremely  powerful  and  have 
many  uses  and  yet  there  is  nothing  at  all  about  them 
in  the  TS2a68  User  Manual  except  to  say  that  *  these 
and  other  commands  like  FORMAT,  MOVE,  CAT  etc  will  be 
used  with  future  peripherals" .  Well,  by  now  we  know 
that  many  of  these  are  indeed  used  with  the  disk  drive 
interfaces.  But,  long  before  DOSs  came  along,  it  was 
apparent  that  OPEN  #  and  CLOSE  #  did  have  a  role  to 
play  with  tlie  basic  machine.  Much  of  this  has  to  do 
with  the  opening  and  closing  of  channels  and  streams 
with  respect  to  the  TS2040-  printer  and  the  TS2068 
keyboard  and  screen - 

The  TS2060  coimiiun i cates  with  peripheral  devices  with 
the  aid  of  tl.e  channel  information  area  which  lies 
between  the  system  variables  and  the  BASIC  program. 
1hiB  area  starts  at  address  26680  and  ends  at  26700, 
just  short  of-  tho  prograin  area  which  starts,  normally, 
at  26710.  A  sliurt  program  given  in  the  listing  beioiu 
will  print  out  ail  the  information  on  channels  and 
streams.  Part  of  its  output  is  shown  below  as  Table  1 
(with  some  explanatory  notes),"  the  code  has  been 
divided  into  5-byte  blocks,  ,  each  block  representing 
one  channel. 


TABLE 

1  - 

CI-IANNEL 

•INFORMATION  AREA 

Address 

CI -.an 

Value 

Notes 

26680 

l< 

0 

1st  2  bytes  =  ROM  add. 128Qd 

26689 

Ij 

'( 3  *256+0 )  2  ROM  PR  I  NT  r  au  t  i  n  e . 

26690 

14 

2nd  2  bytes  «  ROM  add.3a86d 

26691 

i2 

( 12-X-256+14)  a  get  input  key. 

26692* 

75 

Code  for  letter  "K". 

26693 

S 

0 

Ist  2  bytes  same  as  for  "K". 

26694 

5 

2nd  2  bytes  «  add.    4543  5 

26695 

191 

26696 

17 

input  routine  called- 

26697 

83 

Code  for  letter  "S". 

26698 

R 

231 

This  block  is  reserved  for 

26699 

10 

■use  by  the  computer  and 

267Q0  . 

191 

.^  is.  not  available  to  the  , 

26701 

17  ■ 

'.'user.                             ■     •  .  . 

26702 

82 

Code  for. letter  "R". 

26703 

P 

■.1st  2  bytes  also  point  to 

26704 

5 

128Qd:  ROM  Print  routine. 

36 


UPDATE  MAGAZIi^ 


(c)1988  Bob  Mitchell 
Page  #  1  of  5 


OCrCBER  1988 


OCTOBER  1988 


UPDATE  MAGAZINE 


TUTORIAL   (TB2068  &  SPECTRUM) 


REPRINT  FROM  SYNC  LINK 


267015 
26706 
26707 


191 
17 
80 


Input  routine  callE?d; 
(see  explanation  below). 
Code  for   letter  "P". 


26708 


128 


Stop  byte. 


When  the  TS2068  is  switched  on,  21  bytes  are  copied 
from  address  4522d  in  the  ROM  to  the  channel  info  area 
where  they  may  be  altered  by  the  user. 

In  the  fourth  block  (Channel  "P"),  addresses  26703  and 
26704  point  to  the  ROM  PRINT  routine  at  1280d  (OSOOh). 
These  are  often  changed  to  point  elsewhere  (eg.  in  the 
Aerco  prcod^t  they  are  changed  to  <5>  and  <251> 
respectively  which  equates  to  64261  (the  start  of  the 
prcode  routine).  Once  these  two  bytes  liave 
changed,  all  printing  will  go  via  Channel  "P"  to  the 
<prcode>  routine.  To  get  back  to  the  TS2040,  these  two 
bytes  must  be  restored  to  <0>  and  <5>  respectively. 

In  Spectrum  these  21   start-up  bytes  are  in  ROM     555  Id 

and  are  copied  to  the  Spectruin  channel   info  area  which 

resides  at  2vl734  to  23754.  Addresses  237^i9  and  23750 
equate  to  26703  and  26704  in  tlie  TS206B. 

Summing     up,     each     block     represents     a     channel  and 

contains  five     bytes:     the     first     two     represent  the 

address  of  the  called  output  routine  (normally  in  the 

ROM);   bytes  3  and     4     represent     the     address     of  the 

called  input  routine;  finally,  byte  5  is  the  code  of 
the  character  representing  the  channel. 

Channel  "S"  stands  for  "screen"  and  handles  the  output 
to  the  monitor  or  TV  display.  Channel  "P"  stands  for 
the  "printer"  and  liandles  output  to  this  peripheral. 
Channel  "K"  stands  for  the  keyboard  but  handles  both 
output  and  input;  it  inputs  from  the  keyboard  but  also 
outputs  to  the     lower     part     of     the     screen  display. 

When  the  PRINT  command  is  used,  the  output  goes 
through  channel  "S"  to  the  main  (upper)  part  of  the 
screen.  By  careful  use  of  the  OPEN  #  command,  the 
output  can  be  made  to  go  through  any  other  channel. 

Streams  are  associated  with  a  specified  channel  and 
there  are  16  streams  available  (0  to  15).  Using  the 
PRINT  command  normally  sends  the  output  through  stream 
"2"  to  channel  "S".  To'  make  the  PRINT  command  go  to 
channel  "P",  it  is  only  necessary  to  open  stream  2  to 
channel  "P".  This  is  done  by  the  command  <OPEN 
#2,"P">.  Note  that  this  instruction  has  two  arguments, 
the  former  first  tells  the  computer     wliich     stream  is 


37 


UPDATE  MASAZIM: 


(c)1988  Bob  Mitchell 
Page  #  2  of  5 


OCTCBER  1988 


REPRINT  FROM  SYNC  LINK 

TUTORIAL   (TS2068  &  SPECTRUM) 


being  altesred  and  the"  latter  identifies  the  single 
character  of  the  channel  to  which  the  stream  is  to  be 
directed. 

If  you  type  <0PE1M  4*2,  "PV>  then  <PRINT  "  test "  s  PAUSE  □>, 
the  PAUSE  0  cammand  prevents  the  input  routine  being 
called  which  would  print  an  error  report  (bytes  at 
addresses  26705  and  26706  call  the  ROM  routine  at 
address  4S43).  Without  the  PAUSE  0,  the  printing  would 
be  iinmed lately  erased. 

At  switch  an,   only  four  of  the  16  streams  are  opened- 
Gtream  0  points  to  channel  "K" 
Stream  1  points  to  channel  "K" 
Stream  2  points  to  channel  "S" 
Stream  3  points  to  channel  "P" 

When  a  stream  has  been  opened  to  a  different  channel, 
it  will  continue  to  do  what  it  has  been  directed  to  do 
until  told  otherwise.  A  channel  may  be  closed  by  tlie 
command  <CLOSE  4tn>  where  n  is  any  number  from  □  to  15- 
Also,  a  channel  may  be  closed  by  pointing  the  stream 
to  its  start  up  channel.  For  example,  if  stream  3  has 
been  opened  to  channel  "S",  it  may  be  closed  by  the 
command  <CLOSE  «3,"P".  This  example  would  send  all 
LPRINT  and  LLIST  commands  to  the  screen  until  it  is 
told  to  revert  to  normal.  This  is  particularly  useful 
to  the  programmer  during  the  debugging  process  to  look 
at  the  results  of  the  LPRINT  commands  on  the  screen 
rather  than  waste  printer  paper. 

When  a  stream  has  been  opened  to  the  printer,  the  edit 
line  (lower  screen  area)  is  unaffected?  in  fact,  any 
PRINT  #0  or  PRINT  #1  commands  will  continue  to  display 
on  the  lower  screen.  Use  of  the  hash  symbol  <#> 
fallowed  by  a  <□>  or  <1>  changes  the  print  stream  to 
the  lower  screen.  PRINT,  LIST,  INPUT  and  INKEY*  may 
all  have  their  output  affected  this  way  5  their  default 
value  is  stream  2  (the  upper  screen)?  that  is  to  say, 
PRINT  4*2  is  the  sam^  as  PRINT  and  PRINT  #3  is  the  same 
as  LPRINTi  etc. 

Type   in  the  fallowing  listing 
anytime  you     want     to  check 
channels  and  streams. 

3  REM  This  program  works  in 
either  TS2a6a  .or  Spectrum 

"5    REM  ===ss=sa"ss»=s==s==»"="='==»=**«='= 

6  REM  Use  GO  TO  10  for  info 
on  channels  &  streams. 

7  REM  Use  GO  TO  200  to  PEEK 

38 


and  save  it?  then  use  it 
the     current     status  of 


UPDATE  MAGAZIbE 


(c)19SS  Bob  Mitchell 


OCTCBER  1988 


REPRINT  FROM  SYNC  LINK 


,TUTORIAL   (TS2068  «c  SPECTRUM) 


streafTi   info   in  system 
variables.    Use  GO  TO  220  to 
PEEK  channel   inPo  area  up  to 
start  of  program  area. 

9    RFM  sssssssssssssss3=3.-=!=sr=r3sss=r=:sssst=s==s 

ID  LET  a«PEEK  23631-h256*PEEK  2 
3632 s   LET  b-a 

20  IF  PEEK  a=128  THEN  GO  TO  70 
30  PRINT  "CHANNEL  " 5 CHR*  (PEEK 
.(a+A)  ) 

40  PRINT  "Output  Addresss" »PEE 

K  a+256*PEEK  (a+l) 

50  PRINT  "Input  Address^" ; PEEK 
( a+2)  •♦•256  H- PEEK  <a+3) 
60  PRINT   !   LET  a=a-H5  s   GO  TO  20 
70  FOR  a=23574  TO  23605  STEP  2 
GO  PRINT  "Stream  "  ;  ( a-^23574 ) /2 

5  TAB  J.o; 

90  IF  PEEK  a+256*PEEK  (a+l)«0 

THEN  PRINT  "CLOSED"!   NEXT  a:  STO 

P 

100  LET  c=(PEEK  a-H256*PEEK  (a+1 

))+b+3 

110  PRINT  "points  to  Channel  "5 
CHR*  PEEK  c!  NEXT  a 
120  STOP 

130  RANDOMIZE  USR  100:  SAVE  " ch 
ans.Bl"  LINE  10 
140  STOP 

200  FOR  i=23568  TO  23605:  PRINT 

i , PEEK  i :  NEXT  i 
210  STOP 

220  LET  prag«PEEK  23635+256^PEE 
.K  23636 

230  FOR  i=b  TO  prog-i:  PRINT  i, 
PEEK  i;TAE  20;CHR$  PEEK  i  AND  PE 
EK  i>«32  AND  PEEK  i<«90:  NEXT  i 


s start  of  CHANS 

from  sys  variables 
5  last  byte  in  table 
: channel  letter 

: output  address 

s input  address. 


: stream  number. 
: closed  channel 

: channel  letter 

: Lark en  SAVE  routine 


: addresses  of 

channels  attached 

to  streams.; 
: start  of  prog  area 

: examines  chan 
info  area  up  to 
start  of  prog  area 


The  FOR.  ..NEXT  loop  in  line  200  will  display  a  copy  of 
38  bytes  in  the  system  variables  area  containing  the 
address  of  channels  attached  to  streams.  Each  stream 
holds  two  bytes  which  accounts  for  32  bytes  and  the 
extra  6  are  used  by  the  internal  editor  and  automatic 
listing  routines.  Each  two  bytes  contains  a  relative 
displacement,  from  the  byte  before  the  channel  info 
area,  to  the  channel  that  is  pointed  to.  A  zero  means 
that  the  stream  is  closed. 

For  Larken  users,  note  the  extensive  use  of  OPEN  in 
the  extended  BASIC  commands  available  and  particularly 
note  that  when  any  or  all  windows  or  large  printer 
channels  are  opened,   38  bytes  (total)     of     memory  are 


3.9 


UHDATE  MAGAZINE 


(c)1988  Bob  Mitchell 
Page  #  4  of  5 


OCTOBER  1988 


OCTOBER  1988 


UPDATE  MAGAZINE 


REPRINT  FROM  SYNC  LINK    TUTORIAL   (TS2068  &  SPECTRUM) 


added  to  the  channel  information  area-  This  changes 
the  location  of  the  start  of  the  program  area  and  can 
cause  a  raroblem  if  there  is  machine  code  in  a  REM 
statement  in  the  first  program  line-  (This  problem  can 
be  avoided  by  PEEKING  the  start  of  the  prog  area  and 
then  using  this  value  plus  5  as  the  call  address  for 
the  machine  code  routine  in  the  REM  statement?  eg? 
<LET  K=PEEK  236354-256*PEEK  23636:  LET  x=x+5  s  RANDOMIZE 
USR  x> ) .  In  these  38  bytes  which  you  can  examine  by 
using  line  220  of  the  listing,  you  will  find  that  new 
channels  have  been  set  up  at  the  beginning  of  what  was 
the  start  of  the  program  area. 

An  interesting  and  illuminating  exercise  is  suggested 

for  Larken  users! 
.<LOAD  "Chans, Bl">, ie,    the  listing  above- 
.Open  some  of  the  Larken  extended  BASIC  channelsi. 
'.Try   <RANDOMIZE  USR   100s   OPEN  #4,"dd">. 
.Then  <PRINT  IKts   OPEN  tt3,".w0">.    )       These  will 
-Then  <PRINT  4t4!  OPEN  #6,''wl">.    )       open  three 
.Then  <PRINT  #4s  OPEN  #7,''w2">.    )  windows. 
.Now  use  the     listing     above     to     look     at'    what  has 

happened.   Try  doing  the  same  thing  with     the  Spectruiri 

emulator  in  place,    if  you  have  one- 

1*11  leave  the  heavy  thinking  to  you  at  this  point. 
What  I  have  written  will  pose  some  other  questions  and 
I  look  forward  to  someone  else  expanding  on  this  theme 
in  some  future  issue- 


(c)19Q8  Bob  Mitchell 
Page  #  5  of  3 


GQQQQQQQ 

ZZZZZZZZZ 

XX  XX 

* 

QQQQQQQQQQ 

ZZZZZZZZ 

XX  XX 

QQ 

QQ 

ZZ 

XX  XX 

* 

QQ 

QQ 

ZZ 

XXX 

* 

QQ 

QQ 

ZZ 

XXX 

QQ 

QQ  QQ 

ZZ 

XX  XX 

« 

QQQQQQQQQQ 

ZZZZZZZZ 

XX  XX 

* 

QQQQQQQQ 

ZZZZZZZZZ 

XX  XX 

* 

QQ 

* 

* 

The  Journal   Covering  Amateur  Radio  &  Sinclair  Computers 
ZX-88;  Micro-Ace;  ZX81 ;  T/S  1898,   1588,  &  2868;  QL 
Alex.  F.  8urr,  K5XY,  Publisher 
2825  0' Donne n  Drive 
Las  Cruces,  New  Mexico 
88881 

SUBSCRIPTION  *15  PER  YEAR.     S^=tf^PLE  ISSUE  FOR  SELF  ADDRESSED 
STAMPED  ENUELOPE  WITH  *8.45  POSTAGE. 

UPDATE  MAGAZItE  ^  ^  OGTOBER  1988 


TELEXXMPiniNG,  WHERE  WE  STAND 


By^  Bill  Jones  WEKffVJI 


Back  in  1948  Television  came  into  the  homes  of  America.  Almost  all  people  thought 
of  TV  as  an  adjunct  of  RADIO.  Radio  was  THE  INDl^TRY,  and  TV  was  thought  of  as  a  part 
of  it.  Of  course,  TV  became  its  own  industry.  This  bit  of  history  is  used  to  make  the 
point  that  lELBOOMPirriNG  is  destined  to  become  a  giant  industry  of  its  own.  Another 
illustration:  If  one  looks  down  upon  a  ant  bed,  one  sees  much  activity,  bat  all  seem 
to  be  going  in  different  unorganized  directions.  Telecomputing  is  kinda  like  that 
today.  Telecomuting  is  now  riding  piggy  back  on  two  existing  industries.  Computers  and 
Telephone.  But  a  break-out  is  about  to  happen.  Amateur  Radio  Operators  are  leading 
the  way.  Most  think  of  "HAMS"  as  guys  pecking  away  sending  and  receiving  "di  dah  dits" 
and  making  not  so  funny  interfering  lines  on  TV  screens. 

But  many  HAMS  now  are  operating  computers  and  are  involved  in  a  form  of 
Telecomputir^  called  PACKET.  Hie  principle  involved  in  Packet  is  the  use  of  Radio  and 
Computers  to  Conmunicate.  Most  of  us  are  aware  of  Modem  Communications  with  computers 
via  telephone.  I  became  acutely  aware  when  I  received  a  shocking  telephone  bill  a 
month  after  getting  my  modem.  PACKET  bypasses  the  telephone,  and  provides  direct 
computer  link  up  via  radio. 

NO  TELEPHONE  BILLS!!  But,  as  with  any  fledging  industry,  there  are  problems,  and 
there  are  "turf  fights".  A&T  wants  the  business  and  would  like  to  confine 
TelecoDputing  to  the  use  of  their  telephone  networlc.  As  more  computers  with  modems 
come  on  line,  local  telephone  organizations  want  to  develop  means  of  charging  for 
service.  The  HAMS  have  a  good  thing  going  with  Packet,  but  the  Federal  Communications 
Commission  regulates  Amateur  Radio  and  confines  their  activities  to  "Hobby  Use",  no 
commerical  operation  allowed.  Hams  can  operate  with  Packet,  but  ordinary  folks  who  are 
not  licensed  radio  operators  cannot  operate  Packet.    It's  against  the  law. 

During  the  latter  five  years  of  the  1980 's,  the  Computer  population  skyrocketed  from 
less  than  1%  of  homes  having  computers  to  more  than  40*  by  1988,  and  will  be  up  to  80% 
before  1990.  The  natural  progression  is  for  families  to  take  advantage  of  the 
computer's  inherent  ability  to  communicate  with  the  surrounding  World.  To  accomplish 
this  step  there  must  be  a  breaking  out  and  away  from  the  confines  of  the  telephone 
industry  and  the  Federal  regulation  of  communications,  which  is  now  the  most  limiting 
factor.  Of  course,  there  must  be  an  organized  way  to  accommodate  the  tens  of  millions 
of  people  who  will  be  using  computers  to  communicate.  Otherwise  there  would  be  chaos, 
everyone  trying  to  communicate,  but  interfering  with  each  other.  This  is  the  next  step 
that  must  take  place  between  Government  and  industry  planners. 

I  would  invision  the  decade  of  the  1990s  bringing  in  a  coordinated  "starter  plan" 
with  Federal  regulations  licensing  telecomputing  via  satellite,  similiar  to  Packet, 
plus  UHF  repeater  nets,  and  local  cable  service.  As  the  industry  builds,  and 
commerical  applications  expand  (profit  potential),  we  will  see  the  Television  industry 
wanting  to  get  into  the  act,  and  TV  will  become  a  valuable  partner  to  Telecomputing. 
Each  TV  channel  can  accommodate  quite  a  number  of  discrete  side  band  channels  for 
computer  communications  without  interfering  with  their  regular  video  programming.  One 
could  Just  subscribe  to  the  service  and  plug  their  computer  modem  into  the  TV  set  to 
receive  a  daily  schedule  of  services. 

In  the  meantime,  awaiting  the  break  through,  and  the  concerted  organization  needed 
to  thrust  telecomputing  into  tens  of  millions  of  homes,  a  few  intrepreneur  HAMS  are 
taking  the  forefront  and  developing  Padcet.  Bob  Diggs  is  one  of  these  leaders.  His 
letter  and  article  that  follow  reveal  scxie  technical  problems  being  experienced  and  the 
level  of  current  telecomputing  technology  with  the  Sinclair  G9L.,  and  all  ccxaputers  as 
well..  Read  between  the  lines  to  discern  Bob's  personal  dedicaticm  to  the  advancement 
of  telecomputing  technology.  The  following  sketch  depicts  vdiere  the  industry  stands  at 
present  and  the  paths  for  expansion  during  the  next  5-10  years. 


UIOATE  MAGAZItC 


OCTCBER  1988 


UPDATE  MAGAZI^E 


Bob  Diggs,  KV3Q 
North  East,  Maryland 
August  22,  1988 


To:    Bill  Jones,  WD4FJI 
Alex  Burr,  K5XY 

Subject:    QL  on  Packet 


This  memo  is  addressed  to  both  of  you  so  that  you  both  will  know  what  is  going  on 
here  and  can  help  me  get  some  information  to  those  HAMS  who  may  be  interested.  I 
started  a  draft  of  an  article  for  QZX  vrtiich  somehow  got  lost  in  a  micro  drive  with  a 
message  saying,  "file  incomplete".  I  had  made  a  print-out  but  didn't  feel  up  to 
re-doing  it  because  of  hot  weather  and  too  many  other  things  to  do.  Also,  among  the 
three  of  us,  I  dont  think  that  Packet  is  all  it's  supposed  to  be.  There  is  too  much 
CPU  (interference,  ed)  from  re-trys  of  hams  trying  to  download  a  bulletin  board  list  of 
messages  or  nodes  that  it  becomes  too  difficult  to  connect  for  a  QUO  (discrete  two  way 
interchange,  ed)  or  to  get  a  gang  together  for  an  unproto  bull  session.  Never  the 
less,  I  do  use  my  QL  for  Packet,  using  MIKE_TE2?M  almost  all  of  the  time.  I  am,  however 
getting  ahead  of  myself. 

Alex,  what  started  this  memo  was  a  note  from  Bill  saying  that  he  saw  my  interest  in 
QL  Packet  in  QZX  and  wanted  to  publish  the  details  in  UPDATE,  a  magazine  that  I  am  not 
familiar  with  because  it  has  been  a  publication  for  the  TS-2068,  which  I  dont  have.  My 
Ham  interest  says  to  write  for  QZX,  but  my  public  spirit  says  to  write  for  anyone  who 
is  interested  because  there  are  so  few  out  there  on  oL  Packet. 

First,  do  I  have  anything  new  or  worth  publishing?  Enclosed  is  a  printout  of  what  I 
lost  in  the  file.  Writing  this  stuff  is  new  to  me  so  I'd  like  to  know  if  I'm  on  the 
right  track.  Second,  I  dont  know  the  format  to  present  this  material  for  either 
publication.  I  belong  to  C.A.T.S.  and  each  newsletter  clearly  states  how  articles 
should  be  prepared  for  publication. 

Third,  I  hope  that  you  can  both  use  it,  rather  than  have  it  go  to  one  and  not  reach 
some  guy  or  gal  who  could  use  it.  I  dont  know  much  about  computers  and  programs  and 
such,  but  if  I  satrt  the  ball  rolling,  someone  who  knows  more  can  make  things  better. 
So  Bill,  this  is  my  answer  to  your  card.  I  hope  that  it  helps.  Let  me  know  if  you  are 
interested  in  what  I  started  and  I'll  try  to  put  it  together. 


Best  regards. 
Bob  Diggs,  KV3Q 

(Comment  by  the  editor;  Bob's  address  is  left  off  to  protect  his  privacy.  Letters 
to  him  mailed  to  UPDATE  will  be  forwarded.  QZX  is  a  monthly  newsletter  for  Ham  Radio 
operators.  QZX,  2025  0' Donne U  Drive,  Las  Cruces,  NM  88001.  Subscription  is  $15.00 
per  year.  Those  of  you  who  are  interested  in  more  about  Telecomputing  and  Packet  are 
requested  to  send  in  an  interest  card.  The  amount  of  response  will  dictate  the  amount 
of  future  coverage.    Bob's  article  follows. 


PUrriNG  THE  QL  TO  PACXET 
Bob,  KV3Q 

As  Alex  noted  in  the  June  issue  of  QZX.  I'm 
trying  and  can  now  say  that  I'm  using  my  QL  on 
Packet.  It  wasn't  easy  but  I  finally  made  It.  A 
monitor  was  one  mighty  important  item,  in  fact 
trying  to  do  it  without  a  monitor  was  a  failure. 
My  Packet  activity  is  strictly  2  meters,  using  a 
MFJ-1270B  TNC  connected  to  SER  2.  I  have  two 
programs  on  micro  drive  cartridge,  QL  TE3?M  by 
Richard  Moldovan,  and  MIKE_TEEM  from  the  April 
issue  of  QZX.  Each  has  a  special  use.  Each  has 
different  problems  and  neither  is  canpletely 
satisfactory.  However  I  am  using  my  QL  c»i  Packet 
and  it  is  there  whenever  I  want  it.  SER  1  has  my 
Citizen  120D  printer,  and  SER  2  is  Packet. 

My  old  set  up  was  either  the  T5-1000  or  1500, 
ALPHAOOM  32  and  a  OOMLINK  II  connected  to  the 
TNC.  That  was  a  very  satisfactory  set  up  indeed, 
which  allowed  me  to  dump  the  screens  to  the 
printer.  This  is  scaiething  that  I  cannot  do  with 
the  QL. 


Before  leavir^  for  South  Africa  1  ordered  a  QL 
to  be  shipped  to  our  Winter  hone  in  Florida  and 
when  we  got  back  in  Jamary  it  was  waiting.  I 
went  to  the  Winter  Fest  in  Orlando  and  found  that 
there  was  no  one  there  vdio  had  any  idea  of  what  I 
was  talking  about  when  I  brcxaght  up  Packet.  Bit 
I  did  learn  one  important  thing,  and  that  is  that 
the  QJJG  SER2  pin  connections  are  not  as  printed. 
That  turned  out  to  be  academic,  because  the 
standarxi  SER  cable  that  I  bought  there  works  OK 
when  connected  between  SER2  and  the  MFJ  TNC.  It 
was  suggested  that  QL-TEEM  was  a  good  program  for 
a  Modem  and  possibly  might  work  with  Packet,  so  I 
ordered  it. 

QL-TERM  arrived  soon  after  and  v*iat  a 
disiappointment  v^n  I  tried  to  use  it!  I  asdc 
the  dealer  if  my  problem  could  be  because  I  was 
using  a  TV  as  a  monitor.  Of  course,  he  couldn't 
answer  that  question.  So,  Packet  went  to  the 
back  burner  vhile  I  concentrated  upon  finding  a 
printer  that  I  liked  at  a  price  that  I  could 
afford.  In  the  meantime  I  was  wondering  if 
anyone  was   getting  anywhere  with  using  their  QL 


UPDATE  MAGAZIte 


CXITCBER  1988 


on  Packet.  The  US  Postal  service  did  not  forward 
QZX  or  CIW,  so  there  I  was  in  a  black  hole,  so  to 
speak,  and  no  way  out.  Then  lo  and  behold, 
Michael  Mitchell  came  through  with  a  program  in 
April  QZX.  Vflien  I  put  the  program  on  Micro 
Cartridge  I  learned  that  it  needed  a  Monitor.  By 
this  time  I  had  determined  that  a  monitor  was 
needed  for  general  use  anyway. 

When  I  got  the  monitor  on  line,  the  first 
program  to  try  was  QL-TEKM.  It  woii<ed  but  there 
seemed  to  be  a  problem  between  the  computer  and 
the  TNC.  They  couldn't  seem  to  communicate 
without  messing  up  some  of  the  characters.  The 
radio  ccwununi  cat  ions  over  Packet  seemed  to  go  out 
and  come  back  OK  despite  the  garbage  on  screen. 
So,  I  tried  the  MIKB-TE{?M  program  only  to  see 
single  letters  scrolling  up  the  left  of  the 
screen.  I  searched  for  the  problem  hut  didn't 
find  it  until  much  later. 

When  using  the  TS-1000,  the  OOMLINK-II 
required  a  baud  rate  of  300,  so  I  stuck  with  that 
until  I  discovered  that  by  switching  the  TNC 
switch  to  1200  baud  the  garbage  on  screen 
disiappeared. 

At  last  I  had  a  program  working,  but  couldn't 
back  space  or  erase  in  the  normal  way.  The 
solution  is  to  use  CTRL  H  instead  of  the  normal 
DELETE.  Yet  to  be  resolved  is  how  to  duplicate 
the  screen  to  printer  as  I  used  to  do,  but  that 
will  come  later,  I  hope.  Another  bother  is  that 
the  CTRL  S  takes  a  while  to  stop  the  scroll, 
longer  than  the  TS-1000  and  most  likely  because 
of  the  baud  rate. 

Then  it  was  back  to  MIKE_TE3?M.  A  intense 
study  of  the  program  listing  revealed  a  missing 
in  line  270  at  the  end  of  the  line.  That  did 
it,  but  backspace  reared  its  head  again.  A 
partial  solution  is  to  use  CTBL  H  again,  but  the 
lack  of  cursor  means  that  you  are  typing  without 
reference.  Now  if  I  make  an  error,  I  use  CJTRL  X, 
which  shows  a  "/"  and  scrolls  to  the  next  line. 
Hie  advantage  of  NIKE_TE294  is  that  it  loads  fast. 
The  disadvantges  are,  no  screen  dump  to  the 
printer  and  no  flashing  cursor.  I  then  changed 
the  window  to  have  a  program  for  TV  use,  and  that 
works  fine.    Neither  programs  have  macro  keys. 

So.  that  is  \ihere  1  stand  with  using  QL  on 
Packet.  It  is  working  fairly  well  but  there  is 
still  a  long  way  to  go.    To  summarize; 

1.  Use  a  Monitor  or  MIKE_TE3?M  modified  for  TV 
Screen. 

2.  Ser2  port  pins  are:  1-ground,  2-Tx  D,  3-Rx 
D.  4-EfrR,  5-CrS,  6-K3RND,  7H3RND,  8-blank,  9-T/2V 

3.  OL.TERM:  Needs  Monitor.  1200  baud.  Must 
anticipate  CTRL  S  or  lose  some  screen.  No  screen 
dump.  Erase  and  backspace  with  CTRL  L.  Can't  go 
to  QL  programs  when  you  Qait. 

4.  MIKE^TERM:  Easy  to  load  and  use,  but  lacks 
cursor  and  screen  dump.  Use  CTRL  H  to  erase,  but 
no  cursor  makes  it  hard  to  use.  Use  CTRL  X  to 
cancel  line  and  start  over  again  with  new  line. 
Be  sure  line  270  has  a  ";"  at  line  end.  Modify 
window  if  using  TV.  Can  quit  and  load  cL 
programs  and  vice  versa,  A  good  program.  I  use 
it  daily  to  check  my  BBS, 

I  have  i-ieed  two  other  pixsgrams,  QOCa^  and 
QLINK.  without  success.  The  copies  that  I  am 
using  could  be  at   fault.    I   will  try  to  learn 


more  about  them  and  report  when  I  make 
significant  progress  with  these  or  the  other 
programs.    Bob,  K3VQ  

EJd,  comments:  Screen  Dump  to  printer  is 
supported  by  the  special  language  contained  in 
the  PISON  ARCHIVE  software.  This  may  be  an 
avenue  to  pursue  to  link  with  the  modem 
softwares.  Qnoss  talk  between  those  using  the  OL 
within  the  telefrfione  modem  environment  and  Packet 
users  should  be  fruitful.  UPDATE  will  open  up  a 
channel  for  such  cross  talk  in  the  pages,  and 
will  publish  the  names,  addresses,  and  f^ne 
listings  of  those  who  have  keen  interest  in 
Telcomputing,  either  via  telephone  or  Packet,  and 
who  would  like  to  establish  direct  communications 
with  each  other.  Hopefully,  we  can  have 
something  useful  in  every  issue  of  UPDATE  about 
Telcomputing  with  the  QL,  the  TS-2068,  Via 
Telephone  and  ailletin  Boards,  via  Packet,  and 
via  direct  telephone  between  users.  The  extent 
of  coverage  will  depend  upon  the  amount  of  inputs 
from  the  readers,  as  there  is  little  "in-house" 
expertise  on  this  subject. 


FORMAT  OF  UPDATE  MAGAZINE 

Back  last  year,  UPDATE  began  with  a 
couple  of  ideas  that  became  too  difficult  to 
manage.  One  was  Coloured  page  sections. 
The  trouble  with  that  is  that  paper 
suppliers  have  no  standard  colors.  On  month 
pink  is  rose  and  next  month  it. is  some  other 
shade.    So,  I  abandoned  that  Idea. 

Another  plan  was  to  have  sections  by 
major  subject  area.  "Ihis  worked  out  well 
for  only  a  few  major  sections. 
Telecomputing,  TS-2068  Extra  Memory, 
Schematics,  and  The  Electronics  Data 
section.  All  other  subjects  seem  to  blend 
together. 

Ihis  October  1988  issue  is  the  first 
issue  to  be  printed  by  a  commerical  printer, 
and  that  makes  it  not  to  be  feasable  to 
continue  with  the  colored  page  section  idea. 
Ihe  editor  will  avoid  "skip  continuations" 
of  articles  from  an  earlier  page  to  a  page 
that  is  deeper  within  the  magazine.  Ihis 
will  allow  those  who  want  to  file  pages  by 
subject  area  to  do  so. 


3 


UPDATE  MAGAZINE 


OCTCBER  1988 


OCTCBER  1988 


UPDATE  MAGAZINE 


A  O.L.  Address  File 

Bob  Hartung,  2416  N.  Co.  Line  Rd.,  HuntertoMn,  IN  46748 

Some  like  nxself  who  are  neu  kids  on  tlie  block  with  the 
QL  nay  be  looking  -for  info  on  getting  started  in  QL 
SuperBasic  programing.  The  QL  User's  Guide  (QLUG)  is 
something  less  than  a  nasterpiece  of  clarity,  and  most 
current  publications  seen  to  have  moved  on  to  more 
advanced  topics,  so,  from  the  perspective  of  a  rank 
beginner,  here  are  a  few  'QLues*  I  have  stumbled  onto  so 
far.  Assuming  that  not  everyone  has  installed  Toolkit  II 
(TKT)  or  Trump  Card,  I  will  use  only  the  syntax  accepted 
by  the  unexpanded  QL  unless  otherMise  noted.  Direct 
command  entries  will  be  indicated  by  <comnand>  with  a 
slash  /  between  those  keys  to  be  pressed  at  the  same 
time. 

Since  the  best  way  of  learning  is  usually  by  doing 
(there  are  exceptions  such  as  learning  what  kinds  of 
wild  mushrooms  are  safe  to  eat!)  I  will  give  the  listing 
for  a  SuperBasic  program,  then  explain  some  of  the  whys 
and  wherefores  of  it.  A  reader  requested  a  mail  list 
program,  which  seems  a  practical  way  of  illustrating 
some  points.  Of  course  the  ARCHIVE  database  SU  bundled 
with  the  QL  may  be  adapted  for  this  but  all  its  bells 
and  whistles  and  whirring  microdrives  sometimes  seem 
overkill  for  a  simple  mailing  file  and  printout. 

To  make  this  into  something  for  everyone,  I  will  also 
try  to  use  syntax  that  can  most  easily  be  translated  by 
TS2068  <and  Beta  Basic)  users,  rather  than  exclusively- 
QL  structures  and  commands  that  might  be  more  elegant 
but  less  familiar.  Purists  who  are  bothered  by  my  use  of 
subroutines  instead  of  structured  procedures  may  easily 
replace  the  REH  labels  with  DEFine  PROCedure  name,  the 
RETurns  with  END  DEFine,  and  the  60  SUBs  with  the 
respective  procedure  names.  I  ran  into  an  anomaly, 
however,  on  the  SORT  routine  when  defined  as  a  procedure 
in  that  it  re-orders  a  file  perfectly  the  first  time  but 
then  seems  to  lose  track  of  scne  file  items  on 
subsequent  calls.  Til  leave  that  as  a  challenge  for  a 
sharp  T/S  UPDATE  reader  to  figure  out! 

The  minimum  essentials  of  a  mailing  list  are  to  provide 
the  means  of  entering,  storing,  retrieving,  and  printing 
out  the  files.  It  is  also  useful  to  have  the  means  of 
re-ordering  them  alphabetically,  usually  by  last  names, 
selecting  particular  ones  for  display  or  printout, 
adding  to  the  file,  and  editing  or  deleting.  This 
program  will  do  all  these,  albeit  more  slowly  than  a 
whiz-bang  machine  code  or  compiled  one.  To  economize  on 
page  space  a  56-column  listing  format  was  used  instead 
of  the  40-coluffin  NODE  8  or  the  64-column  NODE  4.  Now 
with  all  these  disclaimers  stated,  let's  get  on  with  it. 

For  less  pain  and  strain  in  entering  the  listing,  <AUTO> 

44 

UPDATE  MASAZI^E 


supplies  line  numbers  starting  at  100  in  increments  of 
10  or  <Am'0  n)  will  start  at  line  n  in  steps  of  10.  Use 
<CTRL/SPACE)  to  break  out  of  AUTO.  During  entries  of  a 
new  listing  or  when  editing  an  old  one,  <AUTO  10)  or  in 
the  same  increments  as  the  listing  will  automatically 
bring  each  line  into  edit  mode  and  <BfTER)  will  scroll 
to  the  next.  If  <EDIT  n)  is  used  to  bring  down  a 
specific  line,  then  the  up  or  down  cursor  keys  may  be 
used  to  scroll  other  lines  into  the  edit  window  as  long 
as  Sfl"ER  has  not  yet  been  keyed.  Of  course  TKT  users 
have  the  many  conveniences  of  full-screen  editing  but 
for  those  who  don't  have  TKT  the  QLUG  doesn't  go  into 
much  detail  on  how  to  use  these  normal  EDIT  functions  to 
make  life  a  bit  easier. 

I  would  suggest  starting  by  entering  line  1540  DEFine 
PROCedure  svi  DELETE  MDMLaddrfile;  SWE  MDVLaddrf  ile.- 
END  DEFine  sv.  If  you  do  not  have  the  IKl  FREEJ1EN 
command  you  might  also  want  to  add  line  1550  DEFine 
PROCedure  freememi  PRINT  PEEK-L(163856)-PEEK.L(163852) 
-1024s  END  DEFine  freemem.  Make  the  first  save  of  this 
with  SAUE  MDMLaddrfile,  or  change  all  the  addrfile 
names  to  BOOT  if  you  want  it  to  auto-load.  Now  whenever 
you  want  to  make  a  save  during  entry  of  the  listing  all 
you  need  to  do  is  key  <sv).  Enter  <freemen)  to  show  free 
memory  remaining.  Procedure  and  function  definitions 
like  these  may  be  located  anywhere  and  are  transparent 
until  called,  i.e.  processing  passes  right  over  them  as 
it  does  for  a  DATA  line. 

Use  RUN  to  initiate  and  key  '9'  from  the  menu  to  save 
the  listing  to  mdvl.  To  set  up  an  all-new  file,  key  "O* 
and  "y"  at  the  ERASE  prompt.  820  allows  entry  of  1,  2, 
3,  4,  or  5  for  auto-entry  of  the  respective  titles  (no 
space  between  number  and  first  name).  If  9  is  the  first 
character  entered  here  then  any  other  title  or  name  may 
be  keyed  in  letter-by-letter  following  the  9.  ISTOPwill 
close  the  file  and  60  SUB  to  the  sort  and  re-order 
routine  20,  otherwise  inputs  continue  for  last  name, 
address,  P.O.,  state  &  ZIP,  and  ID  or  phone  no. 

The  state  and  ZIP  entry  may  be  skipped  with  just  ENTER 
(N/L)  if  the  P.O.  entry  was  made  with  a  number.  860  & 
890-910  may  be  expanded  to  include  more  auto-entries  of 
P.O.,  state,  and  ZIPs  for  frequently-occurring  ones.  To 
avoid  confusion,  use  1 ine- increments  of  1  for  this  and 
wait  until  the  entire  listing  has  been  entered  and 
checked  before  using  RENUi  10,10. 

Printer  control  commands  for  font,  margin,  etc.  may  be 
set  by  your  panel  switches  or  a  PRINT  17, command- 
sequence  for  your  particular  printer  may  be  inserted  at 
line  1300  after  an  OPEN  I7,serl.  Be  sure  to  end  this 
sequence  with  a  CLOSE  17. 

TV  MODE  8  (40-colHmn  display  with  two  screens)  is 
assumed  so  you  may  wish  to  adust  some  of  the  PRINT  and 

(XTCBER  1988 


OCTOBER  1988 


UPDATE  MAGAZINE 


10  sets  black  PAPER  and  white  INK  for  the  112  nain 
display  screen  and  white  PAPER  and  black  INK  for  the  «0 
editing  window.  This  gives  a  crisper  display  on  B&di  TVs 
and  conposite  monochroie  nonitors  than  the  power-up 
colors.  Just  use  10  80  TO  510  here  if  you  prefer  to  keep 
the  original  screens. 

Note  that  in  lines  130-200  you  nay  use  apostrophes 
rather  than  quotation  narks  to  define  character-strings. 
The  QL  accepts  either.  The  apostrophe  is  a  little 
handier  as  it  requires  no  SHIFT,  but  for  clarity  and  of 
course  for  T/S  translation  the  quotes  should  be  used. 
The  reverse  slash  \  used  by  the  QL  for  a  line  feed 
corresponds  to  the  apostrophe  for  the  T/S.  PAUSE  without 
a  given  value  is  the  sane  as  T/S  PAUSE  0. 

A  little  surprise  for  T/S  users  (that  users  of  nany 
other  conputers  have  had  to  reckon  with  all  along)  is 
that  it  cannot  be  taken  for  granted  that  dinensioning  a 
nuneric  array  as  DIM  a(n)  always  sets  every  elenent  to 
0.  Neither  does  DIM  a$(n)  set  every  string  elenent  to  a 
space  or  CHR$(32).  The  DIM  sets  the  string  array 
elenents  to  CHR*(0),  and  then  if  LET  a$<n)="  is  used 
they  becone  spaces.  If  no  key  is  depressed,  CODEdNKEY)) 
also  returns  0.  This  is  the  reason  for  the  value-checks 
shown  in  210,  610,  and  810. 

The  IF-THEN  structure  of  the  QL  allows  nested  test- 
statenents,  with  ELSE  alternative  conditions  that  are 
active  when  IF  conditions  are  not  net,  as  in  330  and 
350.  350  could  also  have  additional  statements  appended 
such  as  ELSE  OPEN  I7,scrj  INK  I7;7  (which  sets  scr  INK 
to  white  or  the  color  of  your  choice).  The  end  of  a 
particular  set  of  IF-THEN-ELSE  statenents  is  narked  by 
an  END  IF  to  indicate  that  set  of  conditions  no  longer 
apply  to  what  follows. 

The  SELect  ON  sequences  in  370-430  and  630-740  nay  be 
translated  as  IF-THEN  statenents  for  the  T/S.  Beta  Basic 
(B6)  provides  the  ELSE  function  and  also  has  an  ON 
ccnnand  that  would  require  this  change: 

610  LET  n$=INKEY$,  if^L  ffi$4l:  IF  n$»"  im  60  TO  610 

This  allows  lines  630-730  to  be  entered  as  only  one  line 
to  use  the  BB  ON  function: 

630  ON  n:  80  TO  770:  60  TO  790:  60  TO  970:  110:  60  SUB 
20:  80  TO  1210:  60  TO  1320:  60  TO  1420:  60  TO  1310:  SAME 
•addrfile*  LINE  10. 

Lines  1330-1510  show  how  the  QL  sends  and  receives  data 
to  and  fron  devices  such  as  nicrodrives,  nodens, 
printers,  networks,  etc.  For  the  T/S  all  this  SAME  and 
LOAD  footwork  can  be  replaced  by  the  sinple  connands 
SAME  "nane"  DATA  f$()  and  LOAD  "nane'  DATA  Hi),  If  LET 
f$(400,  TO  3)=STR$  last  is  inserted  before  the  data 
save,  then  LET  last^^AL  f$<400,  TO  3)  would  re-define 


the  value  of  last  after  the  loading  of  new  data.  (The  QL 
has  no  MAL  function.) 

LISTIN6  2  gives  a  search  routine  for  T/S  users.  When 
using  it,  the  target-line  to  be  searched  is  first  narked 
by  nunber,  then  any  consecutive  set  of  characters  found 
at  the  very  beginning  of  that  line  nay  be  used  as  a 
search-word.  Either  a  hard-copy  printout  or  screen 
display  nay  be  selected.  Line  350  could  be  changed  to  IF 
yl=*y'  THEN  OPEN  82, 'P'  and  nake  470  CLOSE  82  to  direct 
the  PRINT  output  of  lines  380-460  to  a  printer  or  to  the 
screen  if  y$='n'.  IF-THEN  statenents  would  then  be 
substituted  in  380-420,  and  the  17  onitted.  In  BB  an  ON 
connand-sequence  could  be  used  here  if  360  is  nade  LET 
p=CODE  f$(n)-48  so  the  number-sequence  1-9  is  produced. 

In  BB  the  sort  routine  at  30-90  nay  be  replaced  by  the 
sinple  connand:  30  SORT  f$(l  TO  last)(21  TO  40)  which 
will  re-order  150  array  elenents  by  last  nanes  in  just 
over  1  second.  The  QL  search  routine  would  be  replaced 
by  the  following  in  BB: 

130  INPUT  •  LPRINT  y/n?  "jy$ 

140  INPUT  'CHR*  in  search-word  (INwild):  "jc* 

158  FOR  n=l  TO  last 

160  LET  p$=fi(n) 

170  IF  INSTRIN6(l,p*,c$)  THEN  PRINT  n'f$(n,  TO  94)'f*( 
n,95  TO  114):  IF  y^'y'  THEN  60  SUB  350 

180  n 

280  PRINT  iiOi'SEARCH  conplete":  PAUSE  300:  60  TO  500 

INARRAY  would  search  the  entire  f*  array  but  line  150 
allows  INSTRIN6  to  search  one  array  elenent  at  a  tine. 
Most  BB  connands  and  functions  allow  sinilar  savings  in 
nenory-usage  as  well  as  processing  tine  which  offsets  to 
a  great  extent  the  linitations  inposed  by  the  22K  free 
nenory  renaining  with  66  in-residence.  About  150 
f ile-itens  nay  be  handled  by  this  progran  using  BB  in  a 
Spectrun-enulated  TS206B. 

In  edit  node,  QfTER  scrolls  through  the  file  itens. 
Entering  "/.'  will  delete  that  iten,  or  if  a  nunber  is 
entered  then  that  line-iten  nay  be  re-entered  as 
desired.  If  nore  than  one  line  is  to  be  changed  the  '6' 
repeat  option  nay  be  used  at  the  end  of  the  edit  node 
sequence,  or  else  it  night  be  simpler  to  use  "A'  to 
delete  that  whole  iten,  then  go  to  the  'Additional 
entries'  node  fron  the  nain  nenu.  Uhile  entering  new 
file  itens,  if  $T0  is  entered  instead  of  an  ID  or  phone 
no.  then  that  entire  file-iten  nay  be  re-entered  to 
correct  an  error,  or  else  you  can  wait  and  use  the  'List 
&  edit  node'  fron  the  nain  nenu. 

Again  BB  has  a  nucb  easier  way  of  editing  an  entire 
array  elenent  at  a  tine  by  replacing  lines  1000-1200 
with  sinply  1000  EDIT  f$(n)  and  1010  NE)(T  n.  The  entire 
file  iten  is  brought  back  into  edit  node  for  revisions 


45 

UPDATE  MftSAZItE  OCTCBER  1988 


CXTCBER  1988 


UPDATE  MAGAZINE 


by  iioving  the  cursor  up  and  down  as  well  as  horizontal Ix 
through  it,  just  as  when  it  was  originally  entered. 
Keying  QITER  scrolls  through  the  -file. 

The  'SAVE  file"  and  'LOAD  file'  modes  require  a 
cartridge  in  ndvi  (or  ndv2  with  required  changes  in 
listing)  so  that  the  CAT  routine  nay  list  all  -files 
already  on  the  cartridge.  This  allows  checlcing  file 
nanes  already  in  use  to  avoid  overwriting  any  you  wish 
to  keep.  Since  I  have  TiCT  installed  which  doesn't 
require  the  DELETE  ndvLnanie  be-fore  saves,  the  very 
-first  save  you  naKe  of  the  listing  (and  the  save  of  a 
file  using  a  given  nane  for  the  first  tine)  nay  require 
adding  an  optional  procedure  without  the  DELETE  on 
unexpanded  QLs  to  provide  for  such  saves.  If  a  save  is 
being  nade  with  the  sane  nane  as  an  existing  file 
without  preceding  it  with  the  DELETE  MCMLnane  canand, 
TICT  users  receive  a  warning  pronpt  and  the  'Y/N'  option 
to  abort  or  proceed. 

I  thinl(  the  remaining  prograi  REMarks  and  pronpts  should 
be  self-explanatory,  but  then  Tn  looking  at  it  through 
different  eyes  than  soneone  seeing  it  for  the  very  first 
tine,  so  feel  free  to  bring  any  errors  or  unclear  points 
to  ny  attention.  For  reply  please  enclose  a  SASE.  I  have 
written  an  all  Beta  Basic  version  of  this  program  which 
will  appear  in  a  future  SYNCUARE  NEUS  if  all  goes  well. 

It  would  serve  a  real  need,  I  believe,  if  QL,  T/S,  and 
BB  users  would  send  in  your  own  programing  hints, 
especially  those  procedures  and  functions  you  have 
created,  so  they  can  be  shared  here  in  UPDATE  with  other 
users.  And  be  sure  to  let  Bill  and  his  advertisers  know 
you  appreciate  their  support.  As  Rod  Gowen  of  RHB 
ENTERPRISES,  one  of  the  very  supportive  surviving  T/S 
venders,  stated  in  recent  correspondance  with  ne,  'Ue 
Sinclair  users  have  to  stick  together!" 


LISTIN6  1  -  QL  ADDRESS  FILE 

10  PAPER  0:  PAPER  i0;7:  INK  tlO;0:  CLS:  CLS  iiO:  60  TO  510 

20  REHark  sort 

30  LET  HFlastj  LET  ssn 

40  LET  s=IMT(5/2)!  IF  s<l  THEN  RETurn 

50  IF  s/2=INT(s/2)  THEN  LET  s=sM 

60  FOR  n=l  TO  n-s 

70  in  j=n 

80  IF  f$(j,21  TO  40))f$(j4s,21  TO  40)  THEN  LET  x$=f*(j,l 
TO  115)!  LET  fi(j,l  TO  115)=f$(j+s,l  TO  115);  LET  f 
i(j*s,l  TO  115)=x$!  LET  j=j-5:  IF  j)0  THEN  60  TO  80 
90  END  FOR  n 
100  60  TO  40 
110  RBIark  search 
120  CLS 

130  INPUT  '  LPRINT  y/n?  'jyf 

140  INPUT  'CHR*  in  search-word  (INwild)!  'jc^ 

150  FOR  n=l  TO  last  4  ^ 


m  LET  p*=f$(n) 

170  IF  INSTRIN6(l,p^,c$)  THEN  PRINT  n'ff(n,  TO  ?4)'f$<n, 

95  TO  114):  IF  y*='y'  THEN  GO  SUB  350 
180  NE)(T  n 

190  PRINT  ifOi'Search  is  complete* 5  PAUSE  300i  GO  TO  500 
340  RBIark  Printout  subroutine  selects  printer  or  screen 
350  IF  y«='y'  THEN  OPEN  I7,serl!  ELSE  OPEN  Il7,5crj  INK  II 

7,7!  REMark  Or  INK  n  of  your  choice  for  scr 
m  LET  p»CODE(f$(n,l)) 

370  SELect  ON  p:  REHark  Alternative  to  IF-THEN  sequence 

380    =49!  PRINT  117, 'Mr.  &  Mrs.  'j 

390    =50!  PRINT  l7,"Mr.  'j 

400    =51 !  PRINT  117, 'Mrs.  '; 

410    =52:  PRINT  l7,"Ms.  'i 

420    =53!  PRINT  117, 'Miss  '; 

430  m  SELect 

440  END  IF 

450  PRINT  I7,f$(n,2  TO  C00E(f*<n,115)))j'  "jff(n,21  TO  4 

Q)\f$(n,41  TO  65)\f$<n,66  TO  80)\f$(n,8I  TO  94) 
440  IF  y4='n'  THEN  PRINT  17}  f$<n,95  TO  114) 
465  RBIark  For  labels  insert  PRINT  »7,\\\  here  for  LFs 
470  CLOSE  17 
480  RETurn 
490  RBIark  Henu 
500  CLS!  CLS  10 

510  PRINT  '0  -  Start  ALL  NBrffile" 

520  PRINT  M  -  Additional  entries' 

530  PRINT  '2  -  List  4  edit  mode' 

540  PRINT  "3  -  Search  node" 

550  PRINT  '4  -  Sort  &  re-order" 

560  PRINT  "5  -  LPRINT" 

570  PRINT  '6  '  SWE  file" 

580  PRINT  "7  -  LOAD  file' 

590  PRINT  "8  -  Set  printer' 

600  PRINT  "9  -  Listing  SWE" 

610  LET  n=CODE(INKEY$):  IF  n=0  THB4  60  TO  610 

620  CLS 


630  SELect 

ONn 

640 

=48! 

GO  TO  770 

650 

=49! 

GO  TO  790 

660 

=50s 

GO  TO  970 

670 

=51 ! 

60  TO  110 

680 

=52! 

60  SUB  20 

690 

=53! 

GO  TO  1210 

700 

=54! 

GO  TO  1320 

710 

=55  s 

60  TO  1420 

720 

=56! 

GO  TO  1310 

730 

=57; 

sv 

740  mO  SELect 
750  60  TO  500 

760  RBIark  Initialize  ALL  NB4  file 
770  INPUT  IO;"CAUTI0N-EIMSE  OLD  FILE  y/n?  (Naxinun 
no.  file5<400)    'jy$!  IF  y*="y"  THB*  DIM  f$<400,l 
15)!CLS  10!  ELSE  PRINT  "FILE  NOT  EIWSED"!  60  TO  510 
780  RBI  Input  to  file 
790  FOR  n=l  TO  400 
800  LET  p=0!  RBIark  p=zero 

810  IF  f^(n,l)  <>  CHR$<0)  AND  f*(n,l)  O  *  '  f$(n,ll 


UPDATE  MAGAZII^l 


CXTOBER  1988 


0CTC8ER  1988 


UPDATE  MAGAZIUE 


4)  0  "/,'  THEN  NEXT  n 

820  INPUT  (n)\"$STOP  IHr/Mrs  21r  3Hp5  4M5  SMiss  op  9  the 
n  title  OP  fipst  nane  LET  H(n,\  TO  20)=p$}  L 
ET  «<n,115)=CHR$(LEN(p$))!  IF  p$=:"$STOP*  THEN  LET 
f$(n)="!  LET  Ia5t=n-I:  GO  SUB  20!  60  TO  500 

830  IF  C0DE(«(n,115))<2  THEN  LET  «(n,115)=CHR$<2) 

840  INPUT  'Last  nane '^$(0, 21  TO  40) 

850  INPUT  •Addres5*M$<n,41  TO  65) 

860  INPin  'P.O.  OP  lAUB  2BUT  SfKT'Midi,  66  TO  80)!  IF  i 
$<n,66)<='9'  im  LET  p=I 

870  INPUT  'State  <2  chps42  spaces)  &  ZIP  op  N/L*\«<n,81 
TO  94) 

880  INPlfT  'ID  OP  phone  no.  (op  ifo  fop  pe-entpy)"M*<n,9 

5  TO  114) 

890  IF  f$(n,66)='r  THEN  LET  «(n,66  TO  80)="Aubupn'!  LE 

T  «(n,81  TO  94)=' IN  46706)" 
900  IF  «(n,66)='2'  THEN  LET  «<n,66  TO  80)='Butlep'!  LE 

T  «(n,81  TO  94)='IN  46721" 
910  IF  «(n,66)="3'  THEN  LET  «(n,66  TO  80)='Hunteptflwn' 

!  LET  «(n,81  TO  94)="IN  46748-nnnn" 
920  IF  p  THEN  PRINT  f$(n,66  TO  94)\ 
930  IF  «<n,95  TO  97)=W  THEN  PRINT  'RE-ENTER"!  60  TO 
820 

940  END  FOR  n 

950  LET  iast=n-l:  60  SUB  20 

960  60  TO  500 

970  REMapk  EDIT  file 

980  as  10:  PRINT  iO;"Kex  B4TER  to  keep  op  7,  to  delete 
ITEM  NO.  to  EDIT"!  LET  z=8 

990  FOR  n=l  TO  last 

1000  PRINT  'FILE  'jnMi'^';  f$(n,l  TO  20)\2j"='|f$<21  TO 
40)\3}'='}«(n,41  TO  65)\4|"='|«<n,66  TO  80)\55"=' 

|fi(n,81  TO  94)\65"='jfi(n,95  TO  114) 
1010  INPUT  irtj!  IF  n«$='r  THEN  PRINT  'DELETE!!':  LET  «< 

n,I14)='X'!  LET  fi<n,2I  TO  40)='zz2zzzzzzz':  LET  z=z 

♦1 

1020  IF  C0DE(ii*)>37  THEN  60  SUB  1130 

1030  PRINT 

1040  END  FOR  n 

1050  60  SUB  20 

1060  LET  x=1a5t 

1070  FOR  n=x-z  TO  x 

1080  IF  «(n,21  TO  30)='zzzzz222zz'  THEN  LET  last^last-l 

i  LET  «<n)="" 
1090  END  FOR  n 
1100  CLS 

1110  as  10:  INPUT  lOi'Key  B^TER  to  petupn  to  nenu  op  6 

to  pepeat  '}  /$:  IF  y$  <>'6'  im  60  TO  500 
1120  60  TO  970 
1130  PRINT  "-LINE  REVISION:" 

1140  IF  Bl="r  THEN  INPUT  p$i  LET  «(n,l  TO  20)=p$i  LET 
f$(n,115)=CHR$(Lm(p$)):  IF  C0DE<^$(n,il5))<2  THEN  L 
ET  Wn,115)=CHRi<2) 

1150  IF  ii«="2'  THEN  INPUT  «(n,21  TO  40) 

1160  IF  nr$='3'  THEN  INPUT  f$(n,41  TO  65) 

1170  IF  fi$="4'  THEN  INPUT  f$(n,66  TO  80) 

1180  IF  n$='5'  THEN  INPUT  f$(n,81  TO  94) 

1190  IF  Bl='6'  THEN  INPUT  f$(n,95  TO  114) 

4  7 

UPDATE  MASAZINE 


1200  RETupn 

1210  REMapk  LPRINT  envelopes  op  labels 
1220  INPUT  "Continuous  printout  y/n?  'jy* 
1230  FOR  n=l  TO  last 

1240  IF  y$="n'  THEN  aS  »0:  INPUT  IIO}<n)\<«(n,l  TO  40)) 
\'KEY  5  TO  SKIP  OP  ENTER  ^op  next  '\nit  IF  n$="s"  TH 

mnw  n 

1250  LET  p=CODE(f$<n,l)) 
1260  OPEN  il7,sepl 
1270  60  SUB  370 
1280  mH  FOR  n 
1290  60  TO  500 

1300  RBiapk  Insept  YOUR  ppintep  coniands  here 
1385  60  TO  500 

1310  RQIapk  Save-data  pontine 
1320  CAT 

1330  INPUT  HO;  'SAME  file  name?  '\yii  LET  nl=:"iidvl."  &  y 

$:  REHapk  Op  use  "ndvZ."  hepe  &  at  line  1430 
1340  DELETE  ii$ 
1350  DPEN-NBJ  i»7,n$ 
1360  FOR  n=l  TO  last 
1370  PRINT  «7,f*<n) 
1380  END  FOR  n 
1390  CLOSE  17 
1400  CLS  10:  60  TO  500 
1410  RBiapk  Load-data  poutlne 
1420  CAT 

1430  INPUT  HOj'LOAD  file  name?  'jy$!  LET  »«="nid»L"  &  y$ 
1440  DIM  l$(400,115) 
1450  OPEN-IN  17,11$ 
1460  FOR  n=l  TO  400 

1470  IF  E0F(«7)  THEN  LET  h5t=n-l:  60  TO  1510 

1480  INPUT  I7,f«<n) 

1490  END  FOR  n 

1500  LET  Ust=:n-1 

1510  CLOSE  il7 

1520  CLS  «0:  60  TO  500 

1530  DEFine  PROCedupe  CATs  CLSiDIR  MDVL:  END  DEFine  CAT 
1540  DEFine  PROCedupe  sv:  DELETE  MOVLaddpf  ile:  SAVE  MDV 

l.addpfile:  END  DEFine  sv 
1550  DEFine  PROCedupe  fpeenen:  PRINT  PEEia(  163856) -PEEK 

.L(163852)-1024!  END  DEFine  fpeenen:  REMapk  AIIcms 

free  nenopy  to  be  displayed  by  keying-in  fpeenen  as 

dipect  conand  op  as  a  listing  connand 


LISTIN6  2  -  T/S  Search  Routine 

130  PRINT  "KEY  LINE  NO.  TO  SEARCH:"\ 

140  PRINT  '1  -  Title  no.  &  f ipst  nane  (1Mp/M 

PS  2Mp  3Mps  4Ms  SMiss)' 
150  PRINT  '2  -  Last  nane' 
160  PRIffT  '3  -  Addpess' 
170  PRINT  "4  -  P.  0.  OP  city' 
180  PRINT  '5  -  State  abbpew." 
190  PRINT  "6  -  ZIP" 
200  PRM  "7  -  ID  code  op  phone' 
210  LET  n«=INKEY$:  IF  a^"  THEN  60  TO  210 

OCrCBER  1988 


■upda: 


220  INPUT  "Leading  chr-stt  in  item  ■j(ii$)\c4 

230  INPUT  'LPRM  y/n?  '\yi 

240  PRINT  lOj'fiNY  KEY  FOR  NEXT' 

250  LET  5l=l»<ii«='l')42H<ii$="2*)*41i(ii«='3")4W»(n«='4' 

)+81  »<n<=*5' )  ♦84»<ii*='4' )  ♦95i<ni«='7' ) 
260  LET  52=5l4LEN<cl)-l 
270  FOR  n=i  TO  last 

280  IF  c^f$(n,sl  TO  &2)  THEN  60  SUB  340 
290  PAUSE 
300  PRINT 
310  NEXT  n 

320  PRINT  'SEARCH  conpleted" 

330  as  10:  INPUT  10;  'Key  BfTER  for  nenu  or  6  to  repeat 
';  y*s  IF  y1='6'  THEN  CLS  10:  60  TO  110 

33S  60  TO  490 


Invitation  to  participate 

ARTICLES  and  PROGRAMS  SUBMISSION 

UPDATE  ENCOURAGES  writers  to  submit 
articles,  utilities  and  programs  for 
publication.  The  FORMAT  is  very  relaxed. 
Just  pay  attention  to  the  width  of  the  pages 
and  allow  about  3/4  inch  top  and  bottom  and 
make  the  left  and  right  margins  wide  enough 
to  accommodate  a  3  hole  punch  that  does  not 
cut  out  some  of  the  text.  We  have  enlarge 
and  reduction  capability  to  adjust  print  to 
fit  a  page.  Most  important  is  legibility. 
Draft  quality  dot  matrix  does  not  reproduce 
well.  FVint  size  preference  is  ELITE  12 
characters  per  inch.  Pica  10  characters  per 
inch  is  a<  also,  but  please  NO  condensed 
print.  If  an  article  has  illustrations, 
tables,  schematics,  pictures,  figures,  thats 
alright.  Just  let  us  know  how  to  organize 
them. 

Some  of  the  print  in  the  articles  of  this 
issue  is  smaller  than  desired  because  the 
pages  were  reduced  to  provide  margins,  and 
some  of  the  articles  have  quite  a  bit  of 
wasted  page  space  due  to  excessive  margins. 
But  if  written  text  can  be  salvaged  we  will 
do  that  instead  of  re-typing  it.  Solid  type 
that  is  clear  but  faded  can  be  enhanced  at 
UPDATE,  but  draft  quality  dot  matrix  cannot, 
espically  that  produced  by  the  TS-2040. 
That  is  all  the  guidance  to  be  given.  Dont 
want  to  make  it  too  tough  to  participate  and 
scare  you  away.  The  users  NEED  the  SHARING 
OF  KNOWLEDGE. 

TS-2068  PROGRAMS  and  UriLITIES 

PROGRAMS  to  publish  for  the  TS-2068  may 
be   LLISTED  in  32  chr  lines,  but  that  is  not 


necessary.  Each  program  should  be  supplied 
on  40  or  80  track  disk  or  cassette,  Oliger, 
Larken,  or  Aerco  FD-68  formats  are  fine. 
SPECTRUM  programs  should  be  capable  of 
running  in  the  TS-2068  that  is  equipped  with 
the  Spectrum  ROM  Switch.  We  ESPECIALLY  need 
programs  and  utilities  designed  for  use  with 
DISK  DRIVES. 

SINCLAIR  QL  PROGRAMS  and  UTILITIES 

QL  Programs  and  utilities  should  be 
supplied  on  either  80  track  floppy  or  micro 
drive.  All  programs  must  be  usable  with  the 
UNEXPANDED  QL.  If  programs  are  supplied  on 
disk,  a  version  should  be  recorded  that  will 
COPY  TO  MICRCDRIVE  and  operate  from  micro 
drive.  Your  letter  should  contain  enough 
instructions  about  the  disk  or  micro  drive 
so  that  the  editor  can  load  and  operate. 

UPDAIE  welcomes  QL  programs  which  have 
expansion  capabilities  to  use  with  the  QL 
that  has  RAM  expansion,  but  such  programs 
should  also  have  a  micro  drive  version  which 
works  with  the  un-expanded  QL. 

Exceptions  to  the  above  are  utilities 
designed  to  be  specifically  for  disk  drive, 
micro  drive.  Trump  or  Sandy,  or  supporting 
utilities  for  other  devices. 

Ful 1  Fledged  Software  for  the  QL  tends-  to 
be  too  long  for  key  in  projects  and  these 
programs  should  be  accompanied  with  an 
article  designed  as  a  "mini  manual".  QL 
Utilities  and  short  softwares  can  be  LISTED 
in  the  magazine  as  key  in  projects  and  the 
users  will  get  much  programming  knowledge 
from  an  explanation  of  HOW  the  program 
works. 

The  QL  and  the  TS-2068 
GENERAL  INTEREST  ARTICLES 

REVIEWS  of  new  software  and  equipment  are 
welcomed.  UPDATE  will  provide  enough  space 
for  canprehensive  reviews. 

PROGRAMMING:  Ihis  is  what  the  users  ask 
for  most  and  is  the  most  flexible.  The 
users  need  programming  informtion  ranging 
from  "one  liner  tips"  to  simple  basic 
programming,  to  advanced  programming. 
TS-2068  users  are  also  eager  for  programming 
information  about  disk  drive  use.  QL  users 
are  asking  for  Super  Basic  programming 
information,  ranging  from  beginner  level  to 
such  topics  as  networking  between  two  QL's, 
telecommunications  with  modems,  piping  data 
between  two  computers,  and  conversions  of 
MS-DOS  programs  for  use  with  the  QL.  So, 
let  the  limits  of  your  writing  be  the  limits 
of     your  knowledge. 


48 


UPDATE  MAGAZI^E 


CXTQBER  1988 


OCTOBER  1988 


UPDATE  MAGAZINE 


TS-2068  EXIKA  MEMORY  RECAP 

Back  in  January  88,  UPDATE  began  a  series 
about  EXTRA  MEMORY.  The  first  objective  was 
to  explore  the  ways  and  means  of  using 
EXISTING  Extra  Memory  Hardware.  Briefly 
these  hardware  devices  are:  Hie  Oliger 
EPROM  cartridges  for  Dock  Bank  use:  Ihe  32K 
non  volatile  memory  cartridge  for  use  in  the 
Dock  and  XROM  banks:  The  Aerco  FD-68  Disk 
Controller  which  contains  un-assigned  extra 
Ram  64K  blocks.  Recently  one  more  addition 
is  the  LARKEN  Ram  Disk  cartridge. 

Ihe  existing  TS-2068  allows  us  to  use 
programming  to  enable  the  Dock  and  XROM 
banks  of  memory  when  RAM  or  EPROM  is 
installed  in  these  two  banks.  Ihere  is  no 
automatic  way  of  using  extra  memory  in  the 
TS-2068,  unless  such  auto  usage  is  provided 
for  by  PROGRAMMING.  So,  the  January  UPDATE 
delved  into  the  programming  needed  to  use 
these  existing  devices,  which  generally  had 
not  been  covered  in  sufficient  detail  for 
the  devices  to  be  widely  accepted  and  used. 
This  involved  "collecting"  pieces  of  data 
about  programming  from  several  sources  and 
putting  together  a  group  of  utilities  to 
allow  the  user  to  move  BASIC  programs  or 
utilities  into  the  Dock  or  XROM  banks  and 
operate  the  programs.  The  UPDATE  series  on 
EXTRA  Memory  continued  in  tutorial  form  to 
include  Operating  programs  in  both  HOME  and 
DOCK  banks  and  switching  from  one  to  the 
other  at  will.  Then  the  Disk  Drive  was 
brought  into  the  picture  and  utilities 
developed  for  Auto  Booting  programs  into 
Ffome  RAM.  followed  by  AUTO  MOVING  the 
program  into  Dock  bank,  and  then  Auto 
Booting  another  basic  program  into  Home 
Bank —  to  operate  two  programs  at  will. 
This  effectively  magnifies  the  SIZE  of 
programs  that  the  TS-2068  is  capable  of 
handling  and  frees  up  the  FREE  MEMORY  (ram) 
for  an  extraordinary  increase  in  DATA 
handling  capability  (within  RAM). 

The  above  represents  the  TOTAL  capability 
of  the  TS-2068,  as  it  was  manufactured,  to 
utilize  MEMORY.  We  cannot  go  beyond  using 
the  Dock  and  XROM  banks  without  re-designing 
the  TIMEX  ROM.  AND,  it  isn't  easy  for  a 
user  to  get  that  far,  because  the  user  must 
learn  programming  to  do  it  himself.  The 
tutorials  and  utilities  given  in  UPDATE  were 
designed  to  allow  a  person  who  is  interested 
in  programming  to  learn  how  to  do  it,  and 
for  programmers  to  use  to  develop  software 
to  operate  from  Extra  Memory. 


UPDATE  realizes  that  many  users  wont 
delve  into  the  detailed  study  needed  to 
become  profficient  in  using  Extra  Memory, 
and  that  this  series  is  of  little  interest 
to  them.  But  there  are  some  who  are  eager 
to  extend  their  programming  abilities.  Then 
there  is  a  small  group  of  real  hackers  who 
want  to  go  the  limit  and  build  onto  the 
TS-2068.  So,  just  as  UPDATE  plays  to  the 
novice  programmers  and  to  those  who  are 
interested  in  only  using  software,  not 
constructing  it,  we  also  want  to  fill  the 
needs  of  the  intrepreneur  and  the  expert. 

ENTER  CHARLES  BOIHNER,  to  extend  the 
series  on  Extra  Memory  "to  the  limit".  This 
issue  brings  another  detailed  article  by 
Charles.  In  addition  to  his  extensive 
project  to  extend  Memory  Addressing,  (diaries 
has  given  other  building  schematics.  One  is 
a  Auxiliary  Power  Supply  to  power  external 
add  on  devices,  which  most  of  us  need  to 
prevent  TS-2068  overload.  I  have  already 
burned  out  one  TS-2068  due  to  overloaded  it 
with  add  ons.  Hopefully  one  of  our  hardware 
builders  will  pick  up  on  this  need  and  offer 
a  power  supply  that  plugs  on  to  the  external 
Buss  of  the  68  and  power  everything  else 
that  is  tagged  on.    WE  NEED  THAT! 

In  this  issue,  Charles  casually  verifies 
the  previous  UPDATE  information  about  Dock 
and  XR(DM  bank  transfers,  and  with  a  snort  of 
impatience,  he  proceeds  to  the  sublime, 
leaving  most  of  us  in  a  fog  of 
miscomprehension.  But  not  really.  If  you 
really  dig  in  and  cross  reference  the  Timex 
Tech  manual,  things  come  into  focus.  A  good 
many  are  digging  this  and  are  asking  for 
more.  We  have  some  real  technocrats  using 
the  T5-2068! 

Actually,  if  you  will  notice,  Charles 
does  not  apply  TITLES  to  his  works,  just 
branch  headers.  If  I  had  to  coin  a  title,  I 
would  use:  "EN(3INEERING  A  Z80  BASED 
COMPUTER".  Then  I  might  add:  ("Using  the 
TS-2068  as  a  Starter") .  His  works  go  beyond 
the  UPDATE  series  title  of  Extra  Memory 
while  he  stretches  the  Z-80  CPU  to  it's 
limit.  There's  a  guy  in  England  who  did 
something  similiar,  and  his  product  is 
called  "The  Sinclair  Z88".  I  don't  know 
where  Charles  Bothner  is  taking  us,  but 
UPDATE  will  continue  with  his  works  until 
the  end.  If  someone  really  wants  to  learn 
the  practical  aspects  of  computer 
engineering,  address  coding,  assembly 
language,  and  the  Z-80  CPU,  this  is  a  GREAT 
tutorial  on  all  of  that. 


UPDATE  MAGAZINE 


.49 


OCTCBER  1988 


OCrCBER  1988 

EXTRA  MEMORY 


UPDATE  MAGAZINE 
EXTRA  MEMORY 


By:  Charles  Bothner 


SEPT.   2,  1988 

Bill  Jones 

TS-2068  UP-DATE 

1317  Stratford  Avenue 

Panama  City,   FL  32404 

Dear  Bill, 

First  of  all,  I  v/ould  like  to  comment  on  your  proposed  use 
of  both  the  HOME  and  DOCK  banks  for  programs  simultaneously. 
The  switching  between  these  banks  by  manipulating  bit  7  of 
the  ARSFLG  variable  ©23750  should  work  as  you  described.  The 
only  known  problems  in  the  use  of  the  DOCK  bank  are  those 
described  in  paragraphs  6.2  and  6.3.1  of  the  Timex  technical 
manual  and  these  deal  with  cartridges  which  only  use  machine 
code.  (They  are  easily  corrected  by  changing  the  byte  @0930H 
in  the  EXROM  from  40fl  to  5.5EI  and  the  two  bytes  ®38A0H  and 
38A4H  in  the  home  ROM  to  60H  and  40H  respectively. )  I  have 
not  analyzed  the  DOCK  bank  access  routines  in  detail  up  to 
this  time  because  I  have  not  had  any  problems  using  the  DOCK 
bank  for  any  of  its  normal  stand-alone  functions. 

You  mentioned  power  problems  with  the  2068  and  I  fiigree  com- 
pletely that  extra  loading  on  the  internal  power  supply 
should  be  kept  at  a  minimum.  I  even  went  so  far  as  to  relo- 
cate my  LKDOS  controller  board  from  the  cartridge  slot  to 
one  of  the  bus  expansion  boards  at  the  rear  of  the  computer 
so  that  it  would  be  on  the  external  power  system.  The  only 
extra  loading  on  the  internal  supply  is  the  2  chips  which 
were  added  for  proper  EXROM  address  decoding  and  DOCK/EXROM 
disabling  when  an  expansion  bank  is  active  as  described  in 
my  last  article. 

My  present  bus  expansion  port  plug-ins  are  lined  up  as 
follows : 

1.  RGB  monitor  interface  and  phoneme  speech 
synthesizer.    (The  external  power  supply  is 
now  connected  to  this  board. ) 

2.  EXROM  bank  expansion  for  chunks  1^7. 

3.  LKDOS  controller  board. 

4.  Expansion  bank  controller  board. 

5.  Port  I/O  buffer  board  with  real  time  clock 

6.  LOOS  disk  port  board 

7.  16  channel  A/D  board. 

8.  Text-to-speech  board. 

9.  Digitalker  speech  synthesizer  board. 

10.  RS-232  interface  board. 

11.  TS  2050  Modem  interface. 

12.  AERCO  printer  interface. 

(You  can  see  that  I  have  been  experimenting  with  several 
different  approaches  to  speech  synthesis  for  computers. ) 

Now  let  me  bring  you  up  to  date  on  my  progress  in  developing 
the    expansion  bank  hardware  and  software,     I  have  completed 


UPDATE  MAGAZINE 


50 


OCTCBER  1988 


CXnXDBER  1988 

EXTRA  MEMORY 


UPDATE  MAGAZIISE 
EXTRA  MEMORY 


By:  Charles  Bothner 


the  debugging  of  the  KXROM  initialisation  rou bines.  The 
original  Titnex  protocol  was  followed  in  all  respects  except 
for  the  deletion  of  the  routines  which  reassigned  expansion 
bank  numbers  according  to  their  interrupt  priorities.  This 
v/as  done  for  several  reasons.  First,  the  interrupt  service 
routine  address  field  which  is  stored  in  the  SYSCON  table 
for  each  expansion  bank  is  never  accessed  by  any  of  the  ex- 
isting Timex  ROM  code.  Seoondi  there  is  no  way  of  currently 
making  use  of  interrupts  from  the  expansion  banks  without 
changing  the  interrupt  mode  of  the  Z-80  processor  and  if  a 
different  interrupt  mode  were  used  and  the  HOME  bank  then 
made  active,  the  system  would  crash.  Third,  it  is  unlikely 
that  there  would  ever  be  so  many  expansion  banks  on  line 
that  polling  would  present  an  excessive  time  delay  within 
system  routines. 

Before  I  go  any  further  on  the  system  debugging  I  will  refer 
any  interested  readers  to  the  excellent  5  part  series  of  ar- 
ticles by  V^es  Brzozowski  entitled  "The  Mystery  of  the  Miss- 
ing 253"  which  appeared  in  Time  Designs  Magazine  starting 
with  the  July/August,  1986  issue.  These  articles  provide  a 
good  background  description  of  the  ROM  routines.  These  ar- 
ticles actually  got  me  started  on  the  debugging  of  the  sys- 
tem ROM's, 

I  completed  the  debugging  of  the  initialization  routines 
dealing  with  the  ROM  (or  PROM)  based  expansion  banks  over  a 
month  ago  but  the  RAM  based  banks  v/ere  more  of  a  problem. 
The  RAM  based  expansion  bank  initialization  routine  consists 
of  testing  each  chunk  in  the  bank  for  the  presence  of  RAM  by 
means  of  first  writing  a  test  byte,  then  reading  it  back  and 
comparing  the  read  back  data  with  the  original  byte  to  see 
if  RAM  is  actually  present  in  that  chunk.  This  test  is 
repeated  using  two  different  bytes  to  verify  that  there  ac- 
tually is  RAM  in  the  chunk  and  not  an  accidental  match  with 
random  garbage  read  back  from  an  unused  address. 

The  original  test  routine  in  the  EXROM  blithely  continued 
chunk  by  chunk  until  chunk  3  was  enabled  in  the  expansion 
bank  without  bothering  to  move  the  O.S.RAM  routines  from 
chunk  3  in  the  home  barik  to  chunk  7  so  the  system  crashed  at 
this  point.  I  added  the  necessary  code  to  move  the  O.S.RAM 
routines  to  chunk  7  prior  to  testing  chunk  3  in  the  RAM 
banks,  but  the  systeim  still  crashed.  The  problem  this  time 
was  that  the  routine  in  the  EXROM  which  moves  the  O.S.RAM 
code  makes  use  of  data  stored  in  the  system  variables  area 
which  have  not  been  initialized  at  this  point  in  the  overall 
system  initialization  sequence.  The  addition  of  some  code  to 
temporarily  initialize  these  variables  solved  that  problem 
but  we  were  not  out  of  the  woods  yet.  The  system  now  ini- 
tialized properly  and  the  SYSCON  table  was  loaded  with  the 
correct  type  of  data  but  the  chunk  map  stored  in  SYSCON  02 
for  RAM  banks  did  not  show  the  proper  status  of  chunks  2  and 
3  for  these  banks.   Subsequent  testing  of  the  write  and  read- 


UPDATE  MAGAZI^E 


51 


OCTOBER  1988 


OCTCBER  1988 

EXTRA  MEMORY 


UPDATE  MAGAZINE 
EXTRA  MEMORY 


By:  Charles  Bothner 


back  o£  memory  in  these  RAM  bank  chunks  indicated  that  the 
data  was  being  written  in  correctly  but  was  read  back  cor- 
rectly approximately  10%  of  the  time.  Apparently  the  SCLD 
chip  in  the  computer  v/as  somehow  insisting  that  the  home 
bank  should  retain  control  of  chunks  2  and  3  since  both  of 
these  are  used  for  screen  display  storage.  (Chunk  3  is  only 
used  for  extended  display  modes. )  Attempts  to  override  this 
control  by  means  of  DI  software  instructions  and  also  by 
setting  bit  6  in  port  FF  proved  fruitless.  Since  the  inter- 
nal architecture  of  the  SCLD  chip  is  unknown,  I  decided  to 
try  the  same  type  of  hardware  override  approach  that  Timex 
used  when  they  added  the  U21  circuit  to  tristate  tv/o  of  the 
address  and  data  buffer  chips  (U5  and  09)  when  writing  to 
the  DOCK  bank.  The  added  circuit  is  shown  on  one  of  the 
enclosed  .schematics.  After  adding  this  circuit  which  tris- 
tates  the  buffer  chips  whenever  chunks  2  or  3  of  either  the 
EXROM  bank  or  expansion  banks  are  active,  the  SYSCON  table 
was  correctly  loaded  during  the  initialization  sequence.  A 
copy  of  the  SYSCON  table  data  is  enclosed  along  with  a  brief 
description  of  the  function  of  the  entries  in  the  table.  The 
SYSCON  03  through  17  entries  for  the  RAM  banks  is  whatever 
garbage  v/as  in  the  chunk  0  RAM  at  power  up.  It  is  unused 
data  for  these  banks. 

I  am  also  enclosing  a  schematic  of  a  LKD  display  add-on  for 
the  expansion  bank  boards  which  I  found  to  be  very  useful  to 
show  which  chunk  in  each  bank  is  currently  active. 

As  promised  in  my  last  letter  to  you,  I  am  enclosing  an  an- 
notated copy  of  the  modified  O.S.RAM  routines.  Most  of  the 
routines  have  either  been  corrected  or  entirely  rewritten. 
The  only  routine  which  is  not  annotated  is  the  DISPATCH 
routine  which  serves  no  useful  purpose  at  the  present  time. 
This  routine  will  be  the  only  one  which  will  be  entirely 
deleted  if  I  can  come  up  with  some  useful  routines  which 
will  help  make  use  of  the  expansion  banks  transparent  to  the 
programmer  working  only  in  BASIC.  This  will  be  one  of  my 
next  projects  nov/  that  the  debugging  of  the  original  Timex 
code  and  associated  hardware  seems  to  be  complete.  I  want  to 
apologize  for  the  handwritten  annotation  for  this  table  but 
much  of  this  was  done  during  extensive  business  travelling 
over  the  past  few  months.  Also  enclosed  is  on  updated  FIX 
table  for  the  O.S.RAM  code  which  is  used  by  the  code  which 
moves  the  RAM  routines  back  and  forth  between  chunks  3  and  7 
in  the  home  RAM. 

During  my  analysis  of  the  O.S.RAM  routines,  I  originally 
thought  that  there  was  an  error  in  the  CALL  BANK  routine. 
This  routine  is  used  extensively  by  the  tape  I/O  routines  in 
the  original  Timex  ROM's,  but  never  with  any  parameters 
passed  on  the  stack,  either  in  or  out.  Detailed  analysis  of 
the  CALL  BANK  routine  indicated  that  it  is  correct  as 
originally  written,  and  the  called  routine  is  responsible 
for  cleaning  up  the  stack  by  deleting  the  passed  parameters 


UPDATE  MAGAZINE 


52 


OCTOBER  1988 


OCTOBER  1988 

EXTRA  MEMORY 


UPDATE  MAGAZINE 
EXTRA  MEMORY 


By:  Charles  Bothner 


after  the  data  has  been  used  by  the  called  routine. 

Prior  to  calling  a  routine  in  an  expansion  bank  with 
parameters  passed  to  the  routine,  the  following  items  have 
been  stored  on  the  stack  in  the  order  indicated: 


1.  Bytes  containing  the  status  of  expansion  banks. 
(One  byte  per  bank  containing  the  active  chunk 
map.  ) 

2.  Two  bytes  containing  the  status  of  ports  F4  and 

B'F. 

3.  The  addresK  inside  the  CALL  BANK  routine  which 
will  be  returned  to  at  the  completion  of  the 
execution  of  the  code  in  the  expansion  bank. 

4.  The  chunk  mask  and  bank  number  of  the  called  bank. 

5.  The  number  of  parameters  (bytes)  to  be  outpub  bo 
the  called  routine. 


The  stack  poinber  is  left  pointing  to  item  3  when  the  expan- 
sion bank  is  Jumped  to.  I  am  using  the  following  routine  in 
the  expansion  bank  to  recover  the  stack  space  utilised  by 
the  passed  parameters  while  preserving  all  Z-80  registers: 

Disable  interrupts. 
Save  return  addr.    in  IX. 
Save  HL( overwrite  return 
address ) 

Save  BC( overwrite  chunk 
mask  and  bank  number) 
Make  HL=SP 

Point  to  high  byte  of  Hi 
of  output  parameters. 
Get  high  byte  of  »  of 
output  parameters. 
Point  to  low  byte  of 
of  output  parameters. 
Get  low  byte  into  C 
Assign  new  SP  value. 
Save  original  DE  value. 
Offset  from  SP  to  start 
of  parameter  list. 
Point  HL  to  parameters. 
Destination  address  in 
bank  RAM  for  storage  of 
parameters . 

Move  the  parameters  from 
the  stack  to  the  RAM  in 
the  expansion  bank. 
Restore  DE  data. 
Get      of  parameters  back. 
Save  DE  again. 
Save  AF. 

Point  DE  to  top  address 
in  stack  where  parameters 


F3 

DI 

DDEl 

POP  IX 

OrTCTl  LIT 

C5 

PUSH  BC 

210000 

LD  HL,0 

39 

ADD  HL,SP 

2B 

DEC  HL 

46 

LD  B, (HL) 

2B 

DEC  HL 

4E 

LD  C, (HL) 

F9 

LD  SP.HL 

D5 

PUSH  DE 

110600 

LD  DE,6 

19 

ADD  HL,DE 

llOOCO 

LD  DE,C000 

EDBO 

LDIR 

Dl 

POP  DE 

01 

POP  BC 

D5 

PUSH  DE 

F5 

PUSH  AF 

2B 

DEC  HL 

E5 

PUSH  HL 

I, 


UH)ATE  MAGAZIKE 


OCTCBER  1988 


OCTCBER  1988 

EXTRA  MEMORY 


UPDATE  MAGAZINE 
EXTRA  MEMORY 


By:  Charles  Bothner 


Dl 
A7 

ED42 


POP  DE 
AND  A 
SBC  HL,BC 


010800  LD  BC, 8 
EDB8  LDDR 


D5 
El 
23 
F9 
Fl 
Dl 
CI 
El 

DDES 


PUSH  DE 
POP  HL 
INC  HL 
LD  SP,HL 
POP  AF 
POP  DE 
POP  BC 
POP  HL 
PUSH  IX 


CDxxxx    CALL  xxxx 


FB 
C9 


EI 
RET 


were  stored. 
Clear  carry,    if  set. 
Offset  HL  by  number  of 
parameter  1 ooat  i  ons . 
8  bytes  on  stack  to  be 
moved . 

Move  the  stored  register 
data  to  recover  the  stack 
space  previously  occupied 

by  the  parameters. 
Point  SP  to  start  of  the 
stored  register  locations 


Restore  original  register 
values. 


Put  the  return  address  on 
the  stack. 

Call  the  routine  in  the 
expansion  bank  which 
makes  use  of  the  passed 
parameters . 

Enable  the  interrupts. 
Return  to  the  CALL  BANK 
routine. 


I    have  also  developed  a  routine  for  loading  parameters  onto 
the  stack  within  a  called  expansion  bank  routine  when  the 
calling  routine  requires  parameters  to  be  input  rather  than 
output    to    the  called  routine  but  I  will  save  that  for  next 
time. 

A  brief  explanation  of  the  exparision  bank  hardware  operation 
may  be  m  order.  The  following  refers  to  the  schematics 
which  were  published  in  your  last  edition.  UIO,  Ull,  and  U18 
on  the  expansion  bank  controller  board  are  used  to  buffer 
the  address  and  data  lines  which  are  not  already  buffered 
inside  the  2068,  U19  provides  bidirectional  buffering  of  the 
aata  to  and  from  the  expansion  banks.  U21,  U3,  U4,  and  U7 
provide  the  full  port  address  decoding  for  either  reads  of 
or  writes  to  ports  FC  and  FD.  The  port  FD  read  function  is 
not  utilised  at  the  present  time.  U17  latches  the  3  high  or~ 
S^iii-^n  MDT^?  '^^^^  transmitted  from  the  computer  when  a 

port  FD  WRITE  command  is  executed.  The  latched  data  is  then 
decoded  by  U13  into  a  one-of-eight  outputs  for  selection  of 
tfte  appropriate  expansion  bank  port  commands. 

lu     ^''t^l^Tf!^^     ^""^^^    "^^^  POJ^*  FC  will  utilize 

the  latched  U13  output  to  determine  the  function  being 
executed  For  example,  a  read  from  expansion  bank  port  40H 
llll  TK  u  "y^ble  of  the  currently  selected  banks  chunk 
mask.  The  bank  was  selected  by  sending  the  bank  number  to  U2 
via  a  write  to  port  80H.     Ul  decodes  the    output    of    U2  to 

5  4 

UPDATE  MAGAZINE  OCTCBER  1988 


OCTOBER  1988 


EXTRA  MEMORY 


EXTRA  MEMORY 


UPDATE  M^SAZI^E 


By:  Charles  Bothner 


Gelect.  one  of  the  15  possible  banks.  tJ15  is  used  to  deselect 
all  chunks  in  all  expansion  banks  either  during  a  power  up 
reset  or  by  writing  a  0  to  port  COM.  014  is  used  as  a  con- 
trolled deselect  of  chunks  common  to  all  expansion  banks 
v/hen  a  specific  chunk  is  to  be  reassigned  to  a  new  bank. 
(This  is  done  by  the  BANK  ENABLE  routine  in  the  home  bank 
RAM.  )  The  rest  of  the  logic  on  the  controller  board  is 
straightforv/ard  combinatorial  logic  to  select  the  required 
control  functions . 

Proceeding  to  the  schematic  for  the  individual  expansion 
bank  boards,  v/e  see  that  U6  is  used  for  selection  of  the  ap- 
propriate chunk  selection  when  memory  read/write  is  active. 
The  memory  chips  on  the  board  will  only  be  enabled  if  the 
specific  chunk  was  previously  assigned  to  the  bank.  This  is 
determined  by  the  state  of  the  rJ3,  U4,  U9,  and  UIO 
registers.  They  are  clocked  by  a  write  to  expansion  bank 
port  40H  of  the  required  chunk  mask  which  is  presented  to 
the  D  input  pins  of  the  registers.  The  clear  pins  are 
directly  driven  by  the  chunk  deselect  outputs  of  rjl4  on  the 
controller  board.  Ul  is  used  to  determine  the  status  of  the 
bfiuik.  Bit  2  is  read  back  as  a  low  to  verify  that  a  bank  is 
really  present  when  testing  for  banks  during  the  system 
initialisation.  Bit  3  is  used  (via  U8)  to  determine  whether 
any  chunks  in  the  system  chunk  mask  are  currently  assigned 
to  this  bank.  A  low  indicates  that  one  or  more  chunks  are 
active  In  this  bank  and  a  high  read  back  indicates  that  no 
chunks  are  currently  assigned  to  the  bank.  U12  is  used  to 
pull  the  BUSISO  line  low  whenever  a  chunk  in  the  bank  is  ac- 
tually being  read  or  written  to. 

This  is  a  quick  summary  of  overall  circuit  operation.  I'm 
sure  there  will  be  questions  from  your  readers  so  we  will 
try  to  ansv/er  them  in  future  articles.  Now  that  the  basic 
system  hardv/are  and  software  are  in  place,  the  big  job 
remaining  is  to  develop  useful  software  for  the  ROM  expan- 
sion banks  and  available  space  in  the  home  bank  to  make  use 
of  the  expanded  memory.  Some  of  your  readers  that  are 
familiar  with  the  home  ROM  code  may  be  able  to  help  out  on 
this  proect. 

One  last  item  for  this  time.  I  am  enclosing  a  disk  contain- 
ing the  clock  setting  and  reading  routines  for  the  circuit 
which  was  shown  in  the  last  article.  You  can  list  them  out 
on  whatever  printer  you  prefer.  Next  time  we  will  start  out 
with  a  listing  of  the  debugged  home  ROM  code. 

Hote:  For  those  readers  vho  bive  i  need. 

UPDUTE  Kill  supply  the  tm  Missing  iteas:  s  incerely, 

1.  Copy  of  disk  eentioned.  differ  or  Urken  ^   ^      ^     .  . 

formt-  $5.00  for  postage  and  bdDdliRff.  ^  * 


2.  26  page  code  listing  starting  at  SYSCOK 
5EEi  hex  through  683F  hex.  -  $8. 00.   (ed. ) 


Charles  G.   (Chuck)  Bothner 


UPDATE  MAGAZINE 


55 


OCTOBER  1988 


OCTOBER  1988 


UPDATE  MAGAZINE 


Ihe  CABLE  OOLUMN 

This  feature  column,  by  Bill  Cable,  starts  with  this  issue.  Hiere  are  several 
excellent  programs  in  this  one  episode.  All  of  these  programs  will  be  consolodated 
on  one  ISSUE  DISK  and  ISSUE  MDV  CART.  There  is  just  barely  enough  space  on  one  mdv 
cart  to  contain  them  all.  This  probably  sets  the  record  as  the  largest  offering  of 
QL  software  in  one  disk  or  cartridge  EVER,  at  anything  near  the  price..  Bill 
describes  each  in  the  following  articles.  The  first  article  explains  a  lot  that  most 
of  us  do  not  know  about  ARCHIVE,  why  we  should  use  it,  and  how  to  use  it.  Ihen  he 
gives  us  a  tutorial  on  using  ARCHIVE.  The  articles  following  are  SOFTWARE  programs 
that  are  for  ANY  QL  computer,  with  or  without  expansion  devices. 

The  second  article  brirKrs  the  software  "REFIELD"  and  is  a  mini  manual  on  what 
REFIELD  does  and  how  to  use  it. 

The  thirxi  article  brings  another  software  "HELPEH"  which  is  a  set  of  TOOLKIT 
functions  for  any  QL  computer. 

The  fourth  article  brings  another  software  "SCAN"  which  also  gives  the  actual 
listing  of  the  program,  extensively  documented  with  REMarks  for  those  who  would  like 
to  key  in  the  program  or  learn  its  programming. 

The  fifth  article  is  about  a  Math  program  for  the  kids  which  will  be  included  in 
the  "Cable  Disk  and  MDV  Cart". 

Bill  Cable  :   RJR  2  Box  92  :   Cornish,   BE  03745  :   603  675  2216 

VII Y  USE  ARCHIVE  ? 

Bill  Cable 

This  is  an  open  letter  to  all  QL  users  to  urge  you  to  use  ARCHIVE, 
There  are  many  new  US  QL  users  out  there  plus  a  lot  of  older  ones  who 
have  virtually  ignored  the  ARCHIVE  database  program  supplied  with  the 
QL.  Maybe  you  took  a  cursory  look  at  it  and  decided  because  it  doesn't 
have  any  immediate  flashy  screens  and  it  has  a  large  set  of  commands 
that  have  to  be  learned  that  it  wasn't  worth  the  effort.  Although  it  is 
not  real  flashy  at  first, it  can  be  made  flashy,  but  that  is  not  the 
point.  It  is  a  workhorse.  It  can  manipulate  and  organize  whatever 
information  you  put  into  a  database  with  amazing  speed  and  ease  of 
effort.  Unfortunately,  even  if  you  know  the  language  you  can't  do  much 
until  you  enter  enough  information  to  manipulate.  So  it  does  take  an 
effort.  But  you  can  also  purchase  ready  made  archive  programs.  These 
programs  are  run  within  the  ARCHIVE  environment  and  provide  specific 
services  to  the  user.  You  may  still  have  to  enter  the  data  but  the 
programs  make  it  as  easy  as  possible.  There  are  several  address 
databases  available  and  perhaps  other  software  as  well. 

I  would  also  like  to  urge  more  programmers  to  use  this  language  for 
program  development.  It  works  very  well  for  complex  business  systems 
and  many  other  applications  where  QL  users  would  be  willing  to  pay  for 
software. 

Below  I  will  give  12  reasons  to  use  ARCHIVE.  I  hope  this  will  convince 
some  of  you  nonusers  to  explore  it  a  little  and  see  what  a  wonderful 
piece  of  software  you  got  for  nothing.  Next,  I  will  point  out  a  few 
shortcomings  of  ARCHIVE.  After  all,  I  don't  claim  it  to  be  perfect. 
And  last,  I  will  give  a  mini  ARCHIVE  lesson  for  beginners  which  will 
Include     a  single     line  of     ARCHIVE  commands     which  will     calculate  and 

5fa 

UPDATE  MAGAZI^E  0CTC8ER  1988 


UPDATE  MAGAZIbE 


print  on  the  screen  how  many  countries  of  the  world  have  a  papulation 
density  less  than  the  US  and  what  their  sum  total  population  is,  using 
the  Gazet  database  provided  on  your  database  cartridge.  Beat  that, 
HyperCard!  Maybe  that  will  whet  your  appetite  for  extracting  trivial 
Information  from  Gazet. 


12  Good  JReasons  To  Use  ARCHIVE 


1.  The  pr.ice  is  right.   That  lonely  cartridge  is  setting  there  covered 
with  dust.   All  you  need  to  do  is  open  your  manual,   press  <F1>  and 
you  are  on  your  way.    The  supplied  database,   Gazet,   gives  you  some- 
thing to  play  with.    At  the  end  of  this  letter  you  will  find  a  mini 
ARCHIVE  lessons  for  total  beginers. 

2.  There  is  a  great  need  for  information  handling.    All  of  us  could 
use  more  help  in  storing  and  organizing  information  in  our  lives. 
This  is  what  a  computer  does  best.    ARCHIVE  provides  a  very  good 
environment  to  handle  information.    You  can  do  it  yourself  or  buy 
ready  made  programs. 

3.  Learning  to  use  a  database  is  important  for  all  serious  computer 
users.   The  concepts  used  in  ARCHIVE  are  the  same  used  in  other 
databases.   Learning  ARCHIVE  makes  learning  others  easier. 

4.  It  is  universal  among  all  QL  users  and  is  not  protected.  There 
are  a  few  new  database  systems  beside  ARCHIVE  for  the  QL  and  it 
nice  to  have  a  choice  but  it  will  be  some  time  before  a  large  number 
of  us  owns  a  copy. 

5.  There  is  an  IBM  compatible  version  of  the  PSION  progrrams  (SlOO). 
So  any  work  done  on  the  QL  can  be  transferred  to  the   IBM  compatible 
environment. 


6.  The  ARCHIVE  operating  system  and  language  is  very  well  designed. 

I  have  systems  of  procedures  with  over  70k  of  source  code.    I  find 
ARCHIVE'S  behavior  completely  reliable  and  predictable.    No  lockups 
or  program  crashes.    Whenever  I  think  I  have  found  a  system  bug  and 
track  it  down  it  turns  out  to  be  my  bug.    In  my  opinion  it  is  a  at 
least  a  couple  of  notches  better  than  the  other  PSION  programs. 

7.  The  language  is  excellent.    It  is  like  a  structured  SUPERBASIC  with 
no  line  numbers.   Some  commands  differ  but  it  is  procedure  oriented. 
The  built  in  editor  is  good.    If  it  had  a  search/replace  no  other 
editor  would  ever  be  needed.    Its  automatic  Indenting  makes  program 
legibility  very  good.    I  hardly  ever  list  out  a  program  in  hardcopy. 
I  can  do  all  my  design  and  debugging  on  screen.    Error  messages  are 
very  good.   Leaving  out  an  'endif*   etc.    cause  a  structure  fault  mess- 
age that  is  a  heaven  send.   Errors  messages  pin  point  the  offending 
procedures  by  name.   Errors  can  also  be  totally  supressed  to  make 
friendly  crash  proof  programs  for  others. 

8.  Archive  is  the  best  place  to  keep  the  source  of  any  information  des- 
tined to  ABACUS,    EASEL,    or  QUILL.    Because  it  has  a  language,   you  can 
restructure  the  information  in  any  way  desired  for  the  other  PSION 
programs.   You  can  print  fancy  reports  to  files  for  import  to  QUILL. 
You  can  send  information  and  numbers  to  ABACUS  for  easier  manipula- 
tion,   you  can  send  summary  information  to  EASEL  for  graphs.    You  have 
total  power  over  your  information  if  you  know  how  to  use  ARCHIVE  or 
purchased  a  program  from  someone  who  does. 

57 


UPDATE  MAGAZItE 


OCTCBER  1988 


9.  Archive  has  excellent  number  crunching  power.   Much  better  than 
SUPERBASIC. 

10.  Compared  to  some  other  databases,    its  handling  of  fields,  sorting, 
and  ordering  is  nice  and  straight  forward  although  maybe  not  as 
flexible.    It  can  order  a  2000  record  file  in  2  minutes.    Not  super 
fast  but  very  good  for  most  applications.    It  can  handle  many  files 
at  once. 

11.  It  can  be  made  to  do  a  lot  even  on  an  unexpanded  machine.  Programs 
can  be  broken  into  parts  and  loaded  and  run  automatically  as  each 
part  is  needed.   This  allows  more  free  data  area  and  running  program 
too  big  for  memory.    You  can  also  write  programs  that  write  programs 
and  merge  and  run  them  without  restarting  anything.    A  program  I 
wrote  to  easily  change  the  fields  of  a  database   (REFIELD),  takes 
advantage  of  both  these  properties. 

12.  It  has  a  separate  screen  editor  which  makes  complex  screen  design 
and  construction  relatively  easy  and  different  screens  can  be  loaded 

at  any  time. 

Some  llmltatlans  of  AKCHIVB 

1.  The  worst  problem  Is  the  possiblility  of  corrupting  a  database  file 
by  'opening*    it  for  insertions,   alteration,    deletions  and  not  clos- 
ing it  before  turning  the  computer  off,    losing  power,    or  QL  crash. 
The  fact  that  this  happens  mandates  keeping  multiple  backup  copies. 
Any  time  changes  are  made  to  the  database  back  it  up.    Backing  up  is 
important  for  any  computer  user  anyway  but  beginners  are  often  slow 
to  learn  this  until  they  really  get  burned.    Using  microdrives  calls 
for  even  more  caution.      If  your  QL     unpredictably  locks  up,    get  it 
fixed     or  be     very  careful.   This  may    appear  to     make  ARCHIVE  too 
dangerous    to  use  but     in  practice,    if  you    back  up  you  will  lose 
little  if  anything  ever.   When  'looking'   there  is  no  danger.  There 
are     programs  to     recover  ARCHIVE  files  but  they  are  not  easy  to  use 
and  nothing  can  be  guaranteed.    Preventive  action  is  safest  and  best. 
I  like  to  use  2  or  3  backups  which  I  keep  alternating  between.    I  put 
the  day  of  the  year  in  pencil  on  the  backup.   That  way  I  can  find 

my  latest  easily. 

2.  No  detailed  documentation  of  Archive.    I  think  the  ARCHIVE  section 
of  the  QL  manual  i^  pretty  good  as  far  as  it  goes.    There  are  a  few 
typo  mistakes  in  the     examples  but  it  is  worth  using  as  a  guide. 
The  sections  defining  each  command  and  function  and  error  message 
should  be  studied  carefully.   There  is  ARCHIVE  MASTER  ($45)  from  RMG 
enterprises.    I  haven't  seen  it.    Also  TAKING  THE  QUANTUM  LEAP  <S26) 
from  TIME  DESIGNS"  is  a  more  general  book  about  the  QL, 

3.  Slow  screen  handling.    You  can  design  very  nice  screens  and  data 
displays  but  you  can't  get  around  the  screen  as  fast  as  you  would 
like.   This  may  be  part  ARCHIVE  and  part  QL. 

4.  No  data  arrays  allowed.    There  are  field  related  functions  that  use 
field  numbers  as  indexes  which  are  very  handy.    You  can  make  a  dummy 
database  and  use  it  like  an  array.    Position  can  be  one  index  and  the 
field  number  the  other.    If  it  is  in  RAM  it  will  be  fast. 

5.  On  an  unexpanded  machine  it  is  easy  to  run  out  of  memory  when  doing 
selections  and  orderings  of  large  databases. 

58 


UPDATE  MAGAZIbE 


OCTCBER  1988 


6.      Not  much  software  yet.    This  will   improve.    There  is  a  good  address 
database  from  EMSOFT   (MAILBAG),    which  will  handle  printing  labels, 
postcards,    repeat  letters.    I  have  a  utility  to  allow  easy  addition 
of  fields   (EEFIELD)   to  any     already     created     databases,    I  have  a 
tutoring  database   <DBTUTOR>to  help     learn  any  subject.    I  am  work- 
ing on  a  very  comprehensive  program  for  the  small  business  to  handle 
all  record  keeping,    invoicing,    check  writing.    It  has  been  under  de- 
velopment    for     over  a     year.      I  also     offer  an  address  database 
(DBADDEES) .   There  are  probably  more  US  ARCHIVE  based  programs  not 
known  to  me . 

Cancluslon 

Ve  are  very  lucky  that  PSION  did  such  an  excellent  job  developing  this 
program.    It  will  allow  your  QL  to  do  first  rate  work  for  you  for  many 
years  to  come.   You  only  need  to  learn  a  little  about  using  It. 


Kinl  AKCUIVE  Lesson  For  Deglnners 

1.  Turn  on  or  reset  your  computer.    Put  cartridge  labeled  'Database*  in 
the  left  microdrlve  slot   <mdvl__) .    Press  <F1>  key. 

2.  ARCHIVE  will  load  and  you  will  see  a  little  at  the  bottom  of  the 
screen  waiting  for  a  command.    All  commands  can  be  seen  by  pressing 
<F3>  and  watching  the  upper  center  box.    If  you  type  a  command  and 
<EllfTER>   it  will  be  executed.   Press  <F5>  to  cause  the  last  command 
line     to  be     retyped   (an  easy  way  repeat  a  command  or  correct  a 
mistake  >.   Pressing    the  <ESC>  key  aborts  a  command. 

3.  You  were  given  a  database , Gazet ,   with  Information  about  all  the 
countries  of  the  world  on  your  database  cartridge.   Let's  play  with  It 
for  a  little  while, 

look  " mdvl  gazet"  <BlirTER>  <access  the  database) 

print  count <)<B]n'ER>  {total  records) 

display<BirrBR>  {display  a  record  with  field  names  and  values) 

select  contlnentS="S. AMERICA" <EirrBR>         {select  a  sub  group) 
print  count  ()<EirTER>  {how  many  included) 

display <B]fTER>  {display  again) 

order  pop; a<E]irTBR>  {order  population  In  ascending  order) 

last<B]ITBR>  {most  populated) 

back<B]JTER>  {next  most  populated) 

f lrst<Bin'ER>  {least  populated) 

next<BinBR>  {next  least  populated) 

reset: print  count <>  {reset  back  to  all  countries) 

{Try  on  your  own  ordering  and  selection) 
reset : select  pop/area< . 0229 : let  p=0 : all : let  p«p+pop: endall ; print  count <);":"; p 
{above  is  the  promised  command.    US  density  =  .0229,    notice  the  result) 
{play  some  more) 

quit<EljrrBR>  •     {always  quit  when  done) 

You  just  learned  the  basics  of  using  a  database.  ^      y  a 


59 


UPDATE  HAGAZI^E: 


CXnXBER  1988 


OCrCBER  1988 


UPDATE  MAGAZI^E 


REFIBLD  PRCX3RAM         vl.  lu 
An  ARCHIVE  Program  by  Bill  Cable 


A.  Vhat  does  it  do? 

Refield  is  a  large  program  running  under  ARCHIVE  that  allows  one  of  add, 
restructure,  delete  fields  from  your  ARCHIVE  database.  If  you  are  familiar 
with  ARCHIVE  programming  you  can  do  that  on  your  own  but  it  is  tedious  and 
easy  to  make  errors.  There  are  also  ways  to  do  it  by  exporting  to  ABACUS 
and  re-importing.  Refield  attempts  to  make  it  fun  and  error  free,  even  for 
a  beginner.    It  works  on  an  unexpanded  machine. 

What  is  a  field  you  ask?  Veil  it  is  a  category  to  hold  information  for  each 
entry  in  your  database.  The  Gazet  database  provided  with  your  computer  has 
these  fields  for  each  country  :  countryS,  continent*,  capitals,  currency*, 
languages*,  pop»  area,  gdp.  For  each  country  record  we  have  this 
information.  Now  if  we  also  wanted  to  keep  track  of  miles  of  roadway  in 
each  country  we  would  have  a  problem.  With  Refield  it  would  be  very  easy  to 
add  a  field  called  'roads'.  What  would  happen  is  that  it  would  make  a  new 
database  with  the  extra  field  and  copy  the  records  over.  Suppose  we  named  a 
field  badly  in  our  database.  With  refield  we  could  easily  rename  the  field. 
Suppose  we  were  running  out  of  room  on  our  cartridge  and  there  were  a  few 
fields  we  could  do  without.  With  refield  we  could  make  a  new  database  and 
leave  out  those  fields  to  gain  a  little  more  room.  Or  we  could  break  the 
database  into  two  parts  and  keep  them  on  separate  cartridges.  It  takes  the 
tedium  out  of  such  problems  and  is  fun  to  watch  because  it  tells  you  what 
it  is  doing  as  it  chuges  along. 

B.  Starting  up 

1.  Set  up  files  in  RAM  if  you  want  fastest  running 

2.  Start  archive  normally 

3.  Type:       run  " <) stepl" <ENTER>         where   {)   =  device  holding  refield 

programs (mdvl_, mdv2_,  f lpl_, f lp2_) 

4.  Follow  directions 


C.  Brief  Explanation  On  How  To  Use  The  Program 

To  start  from  archive  :   run  '<> stepl ' <ENTER>  {)   =  device  programs  are  on. 

It  will  work  on  an  unexpanded  QL  but  only  works  in  80  column  mode. 

The  Source  database  is  what  you  have  and  the  Target  database  is  what  you  want. 

It  transfers  records  from  the  Source  to  the  newly  defined  Target. 

The  program  is  divided  into  stepljprg  to  step7_j)rg  which  are  run  in  sequence. 

It  works  by  writing  the  procedures  needed  to  make  the  Target  database. 

These  are  merged  and  run  at  the  appropriate  times. 

Prompts  are  usually  at  the  very  bottom  of  the  screen. 

All  responses  require  the  <ENTER>  key  being  pressed  as  part  of  the  response. 
Possible  answers  to  prompts  are  often  within  C       ]     and  separated  by  /. 
Comments  within     8      9    clarify  prompts. 

Comments  within     i       >     indicate  action  program  is  taking. 
Often  Just  <ENTER>  can  replace  the  normal  expected  response. 
Error  messages  appear  at  top  right  of  screen. 
You  can  usually  restart  the  step  if  an  error  occurs. 


This  series  of  procedures  works  with  an  archive  database.    It  allows  for  the 
addition  of  new  fields,    removal  of  fields,    reordering  of  fields,    renaming  of 
fields,    changing  a  numeric  field  to  a  string  and  viceversa.    It  uses  your 
original    (Source)  database  as  a  template  and  creates  a  new  (Target)  database 
with  the  changes  you  want.    The  Source  records  are  then  transfered  to  the  Tar- 
get database.    You  are  given  the  opportunity  to  select  and  order  the  Source 
records  to  be  transfered  so  the  Target  database  can  have  the  structure  you 
want.   One  use  of  this  program  would  be  to  make  an  exact  copy  of  your  database 
because  the  new  version  would  be  cleaner  as  it  would  not  have  the  holes  and 

UPDATE  MAGAZINE  6  0  OCTCBER  1988 


disorder  of  the  original  caused  by  record  deletions  and  alterations. 
I  have  attempted  to  trap  most  errors  and  give  ample  directions.    You  should 
have  some  knowledge  of  archive  fields  and  the  select  and  order  commands.  If 
you  use  raradisk  you  should  set  that  up  before  starting  archive.    The  procedures 
have  been  broken  up  into  a  series  of  steps  so  they  will  work  on  an  unexpanded 
machine.    If  you  don't  have  ramdisk  or  floppies  then  put  your  Source  database 
in  mdvl_  after  archive  is  loaded  and  have  the  refield  programs  in  radv2_.  Near 
the  end  you  will  be  notified  that  the  programs  are  no  longer  needed  so  you 
can  remove  them  from  mdv2_  and  put  the  Target  cartridge  there  so  the  transfer 
can  take  place.   The  Source  and  Target  files  can  be  on  the  same  device  but  must 
have  different  names. 


D.  Ulnts  about  using  this  program 

1.  Pressing  <ESC>  a  few  times  will  stop  the  program  and  get  command  mode. 

2.  Typing  help<ENTER>  when  in  command  mode  will  fix  screen  and  give  help. 

3.  When  an  error  is  detected  you  will  be  given  a  message  in  top  right  of  the 
screen  with  a  prompt.   Then  you  usualy  are  given  the  option  of  restarting 
the  step  you  are  on  or  from  stepl  or  going  to  command  mode. 

4.  Some  errors  may  not  be  detected  and  will  put  you  at  command  mode  with  an 
archive  error  message  and  a  line  of  code  from  the  program.  You  will  have 
to  deal  with  that  as  best  you  can.   Typing  help<ENTER>  will  give  help. 

5.  Some  errors  cause  archive  to  lose  track  of  what  files  are  accessed.  If  you 
really  get  stuck,   quit  archive  and  start  it  up  again. 

6.  I  have  used  the  archive  convention  of  field  numbers  <#)  starting  at  0.  so 
if  a  database  has  8  fields,    the  field  numbers  will  be  0  through  7. 

7.  I  gave  the  field  name  'tag'   a  special  meaning.    If  you  give  the  Target  data- 
base a  new  field  called  'tag'    it  can  be  given  a  special  value  so  that  each 
record  in  the  Target  database  will  be  given  a  unique  increasing  integer  in 
the  'tag'  field. 

6.   Apparently  the  basic  rules  of  field  names  are  :   up  to  13  characters,   the  .-. 
first  character  must  be  k-Z,   a-z  then  0-9  and  _  can  also  be  used.    If  a 
field  ends  in  i  then  it  is  string,   otherwise  it  is  numeric.    I  may  not  catch 
all  illegal  field  names.    Especially  if  you  use  an  archive  reserve  word  in 
a  field  name.   This  could  cause  step5  to  crash.   Type     help<ENTER>  to  restart. 

9.  Vhen  you  are  defining  the  Target  fields,   giving  it  the  same  number  of 
fields  as  the  Source  and  making  then  the  same  will  create  an  exact  copy 
with  a  'cleaner'  structure. 

10.  If  you  have  a  new  ubljob  for  an  old  field,  you  enter  the  new  name  where  you 
want  It  and  give  the  Source  field  #  when  prompted. 

11.  Vith  a  completely  new  field  you  will  be  prompted  in  step  6,    if  you  want  it 
to  have  a  default  value  different  than  for  string  or  0  for  numeric. 

12.  If  you  give  a  numeric  Source  field  a  string  name  in  the  Target  database 
it  will  autoraatlcally  make  the  conversion  when  transferring. 

13.  While  defining  target  fields,  a  little  note  <S#,  where  #  is  the  Source 
field  #)   is  put  by  the  Target  field  name  when  Target  value  =  Source  value. 

14.  Using  ramdisk  for  programs,  Source,  and  Target  is  pretty  fast.  Some  mess- 
ages appear  and  disappear  instantly.  Using  all  raicrodrives  can  take  a  very 
long  time  for  large  databases. 

15.  If  you  want  to  multitask,   yau  can  shut  off  the  screen  updating  of  progress. 


B.   PEOGRAM  STRUCTURE 


There  are  7  files  of  programs  chained  together 

stepl__prg  :    Asks  for  device  programs  are  on   (  mdvl_,  radv2_,  f  lpl_,  raml_  ,etc.). 

It  checks  that  temporary  files  can  be  written  to  that  device 
and  provides  these  detailed  instructions. 

step2_jprg  :   Asks  for  Source  database  device  and  file  name.    It  opens  the 
Source  database  for  *  look' . 


61 


UPDATE  MAGAZItE 


OCTCBER  1988 


step3__prg  :   Creates  an  select/order  procedure  file  on  the  target  device 
and  writes  your  select/order  coininands  there. 

step4_prg  :    Merges  with  the  select/order  procedures  and  carries  them  out. 
Only  activated  if  selecting  or  ordering  are  requested. 

step5__prg  !   Makes  creater  procedure  file  for  Target  database.   Prompts  for 
Target  fields.   Can  have  partial  or  complete  duplication  of  the 
Source.    You  can  type  in  a  Target  field  name  or  get  It  from  the 
Source.    Each  new  name  can  get  its  value  from  the  Source.    A  temp- 
porary  database  is  created  on  the  progran©  device. 

step6_prg  J    Makes  transfer  procedure  file,    prompts  for  special  values  for 
new  fields  (normally  string  =  and  numeric  -  0). 

step7__prg  !   Merges  creater  and  transfer  procedures.   Gets  Target  device  and 
file  name.   Creates  Target  database  and  does  the  transfer. 


F.   HRSOR/imLP  Message 
Suggestions 

Type  ' help<EirTEE> '    to  get  this  screen  again  when  in  command  mode" 
Make  sure  specified  devices  and  files  are  correct 
Make  sure  a  necessary  drive  is  not  full 

Make  sure  tabs  aren' t  removed  from  a  necessary  cartridge 

Jot  down  error  number  and  look  it  up  on  page  53  in  archive  manual 
Last  error  #  = 

If  you  can  fix  the  problem  without  closing  files    type      start<ENTBR>  or 
Try  starting  from  stepl  again  or  that  failing  quit  archive  and  restart 

Specified  refield  programs  device  : 
Specified  Source  database  : 
Specified  Target  database  : 

Restart  this  step    ~  C   y/n  ]  : 

Restart  with  stepl     -  C   y/n  3  : 

Close  all  files  before  stoping  -  C   y/n  i  : 

C.  Support  software  development 

This  software  is  not  intended  to  be  free.  If  you  obtained  it  from  UPDATE 
Magazine  or  directly  from  me,  Thank  You.  If  you  got  it  for  free  and  find  it 
helpful,  please  support  my  effort  in  trying  to  make  good  applications 
software  for  the  QL.   Send  me  S5.00. 

Bill  Gable 

Wood  and  Wind  Computing 
RR  2  Box  92 

Cornish,    NH     03745  USA 
603-675-2218 

Specializing  in  Business  Applications  for  the  QL 


l^^f^^""^"^  f^"""^  ^°  ^®  ^  ^^'^y  reliable  and  flexible  program  with  lots 

^ea^irertfaSS!^''"""'"""-  °^  '^"^  problems V^u^ef'Sl'""' 


62 


Bill  Cable 


UPDATE  MAGAZItE 


March,  1988 
OCrCBER  1988 


HELPER 

A  SUPERBASIC  Program  for  the  QL  by  Bill  Cable 

The  helper  program  Is     a     set     of     useful     toolkit-like  functions 

presented  in    a  menu     format.  It     would  be     very  useful  to  anyone 

without  any  of  the  toolkits  available  for  the  QL  and  works  on 
unexpauded  machines. 

The  basic  functions  provided  : 

1.  Directory  of  a  device  with  file  copy ,  delete ,  view  options. 
The  directory  is  constantly  displayed  while  the  functions 
are  being  carried  out. 

2.  Formatting  a  device  1  to  10  times. 

3.  Copying  the  contents  of  one  device  to  another  (clone). 

4.  Set  time  and  date, 

5.  Load  and  run  a  program  from  a  specified  device. 

6.  Set  windows  and  exit  to  QDOS. 

There  is  a  fair  bit  of  input  checking  to  prevent  errors  happening 
but  not  every  one  can  be  prevented.  Trying  to  copy  a  nonexistent 
file  is  an  example  of  an  error  that  will  stop  the  program.  I 
decided  not  to  use  VHEN  ERROR  to  trap  errors  because  of  the  system 
bug  with  that  function  and  the  objective  to  keep  things  simple.  If 
it  does  crash  it  won't  hurt  anything  just  note  the  cause  of  the 
error  and  restart  the  program  by  typing  :    * run<ENTER> ' . 

The  code  is  straight  SUPERBASIC.  I  indented  the  multiline  IF 
statements  for  easier  reading.  It  would  be  easy  to  customize  and 
add  your  own  special  functions.  The  single  line  'IF'  statements 
don't  require  an  'ENDIF'  and  I  wasn't  always  consistent  In 
including  one.    I  prefer  using  them  for  easier  program  reading. 

To  Run  : 

type  :    '  Irun  Ohelper'  where  <}=device  holding  helper 

'     mdvl_,  mdv2_,  f  lpl_,  f  lp2_ 

You  are  warned  about  errors  and  encouraged  to  use  <CTRL><F5> 
to  freeze  screens  and  <F5>  to  unfreeze.   Note  that  these 
always  work  on  the  QL. 

You  are  next  presented  the  HELPER  Menu  which  should  be  self 
expanatory.   Experiment  a  little.   The  date  and  time  need  be 
set  only  once  after  the  QL  is  turned  on  even  if  it  is  reset. 
Exit  to  SUPERBASIC  to  quit.    I  hope  you  find  it  helpful. 


UPDATE  MAGAZINE 


fe3 


OCTOBER  1988 


AKITIIMETIC 


An  Arithmetic  Drill  Program  for  the  QL  By  Bill  Cable 

This  program  is  designed  to  aid  children  learning  arithmetic.  It 
uses  only  whole  numbers  0  through  9  for  addition,  subtraction, 
multiplication,  division.  Numbers  can  get  as  large  as  81  (9x9).  It 
picks  the  numbers  randomly  and  presents  the  problem  on  the  screen 
waiting  for  the  users  answer.  The  faster  the  response  the  better 
the  rate  (problems  per  minute).  The  challange  would  be  to  have  a 
high  rate  with  good  accuracy.  The  results  can  be  printed  out  so  a 
printed  record  of  progress  can  be  kept.  The  elasped  time  is  also 
kept  so  one  can  determine  when  they  have  been  working  for  a 
certain  period  of  time. 

The  program  is  pure  SUPERBASIC.  The  Menu  portion  uses  mode  4  while 
the  problems  are  flashed  in  mode  8  to  get  big  characters.  There 
should  be  no  way  to  crash  the  program  except  <CTRL><space  bar>. 


To  Run  : 


Type  :    * Irun  {> arithmetic*         where   <) ^device  holding  program 

mdvl_, radv2_, f lpl_, f lp2_ 

You  are  first  asked  your  name  for  display  purposes  and  to  use 
on  the  print  out   (if  any). 

Next  you  are  asked  if  you  want  a  print  out.  It  would  be  a 
good  way  to  record  long  term  progress.  The  rate  of  doing 
problems  should  slowly  increase.  You  must  keep  the  printer 
online  if  you  do. 

If  print  out  is  wanted  you  are  asked  for  an 
identifying  entry  such  as  the  date.   This  will 
allow  you  to  keep  track  of long  term  records. 

Next  you  are  presented  a  menu  of  choices  ; 
a  -  Addition 
s  -  Subtraction 
ra  -  Multiplication 
d  -  Division 
p  -  Progress  (anytime) 
q  -  Quit  (anytime) 

A  single  key  press  will  activate  your  choice.  If  you  choose 
to  do  problems  you  will  be  given  the  problem  and  the  cursor 
will  flash  in  the  place  for  the  answer.  Vhen  you  give  enough 
digits  for  the  answer  it  will  be  checked.  If  right  you  will 
go  on  to  another.  If  wrong  you  will  be  asked  again.  Pressing 
the  'p*  key  at  any  time  will  show  your  progress.  It  is  a  good 
way  to  take  a  break  as  it  stops  the  clock.  Whenever  you  see 
your  progress  a  print  out  will  be  made  if  you  wanted  print 
outs.  Pressing  'q'  will  get  you  the  menu  and  pressing  'q' 
again  stops  the  program.  Happy  Arithmetic 


UPDATE  MAGAZI^E 


64 


CXTCBER  1988 


An  ARCHIVE  program  by  Bill  Cable 

Scan  is  an  ARCHIVE  program  that  will  work  with  any  database.  It 
allows  one  to  see  up  to  three  selected  fields  displayed  on  a  line 
for  all  currently  active  records.  It  is  a  fast  way  to  scan  through 
the  file  looking  for  particular  values  or  trends.  If  any  of  the 
fields  are  numeric  then  they  are  displayed  with  a  specified  number 
of  decimal  places  and  their  sum  is  printed  at  the  end.  The  sum  may 
or  may  not  have  meaning  depending  on  what  the  field  is.  The  sum 
will  appear  anyway.  The  output  can  also  be  sent  to  the  printer  at 
the  same  time.  This  could  be  handy  for  many  purposes.  You  could 
list  names  and  phone  numbers  from  an  address  database  to  keep  by 
your  phone.  The  listing  will  be  of  the  currently  selected/ordered 
structure  of  the  file.  Pressing  the  <space  bar>  will  pause  the 
output  and  allow  for  continuation  or  abort. 

This  program  is  nice  because  it  will  work  with  anyone's  database 
and  will  not  interfere  with  any  already  existing  procedures  or 
variables  as  long  as  they  are  not  named  'scan'.  It  makes  use  of 
the  ARCHIVE  f ieldt < ) , f ieldn ( ) , f ieldv < )  functions  so  it  can  deal 
with  any  database  without  having  any  previous  information  about 
it.  The  only  way  to  crash  it  if  my  code  Is  good,  is  to  call  it 
without  having  an  active  'look'  or  'open'  database  file.  I 
documented  the  code  heavily  to  show  my  logical  process.  In  a  way 
it  makes  the  listing  hard  to  read.  You  may  want  to  omit  or  delete 
all  the  'rem'  statements  to  shorten  it  and  see  what  real  ARCHIVE 
code  looks  like.  To  get  the  ARCHIVE  editor,  type  !  ' edit<ENTER> • 
and  follow  instructions  in  center  box. 

To  Run  : 

Start  ARCHIVE  as  usual 


Access  your  database     with  ' look'   or  use  the  Gazet  database 
look  "mdvl_gazet" 

Load  or  merge  scan  as  : 
load  "Oscan"  where   {}=device  holding  scan 

mdvl_,  mdv2,  f  lpl_,  f  lp2_ 

Select  or  order  if  you  want 

Type  :    ' scan<ENTER> '  to  start  scan 


Direct  output  to  printer  if  you  want 

The  fields  of  your  database  will  be  displayed.  Give  the 
numbers  of  up  to  3  you  want  on  the  output  line  for  each 
record.  If  the  field  type  is  numeric  you  will  be  asked  for 
the  number  of  decimal  places  to  show. 

The  listing  will  begin.   Press  < space  bar>  to  pause. 

It  will  print  any  sums  and  pause.   Stops  When  you  press  <EirTER> 


UPDATE  MAGAZI^E 


65 


CXTOBER  1988 


OCTOBER  1988 


UPDATE  MAGAZINE 


proc  scan 
rem  SCAN 


A  procedure  for  listing  all  current  records  on  the  screen  and 
to  the  printer.    It  prints  one  line  with  up  to  3  selected  fields  for 
each  record.    It  asks  for  decimal  places  for  the  numeric  fields  to  be 
displayed.    It  prints  the  sum  of  any  numeric  fields  displayed  at  the 
end  of  the  listing.    A  <space  bar>  press  will  pause  it  and  then  it 
can  be  continued  or  aborted.    It  will  work  with  any  database  you  have 
accessed  by  'look'    or  'open*.    All  variables  are  local  so  it  should 
not  interfer  with  your  procedures  or  variables.    All  these  'rem' 
statments  can  be  removed  to  shorten  It. 


To  Use 


1.  Start  AKCHIVE  as  usual 

2.  Access  your  database  by  ' look' 

3.  Load  or  merge  scan  :    'load  Oscan'    or  'merge  Oscan' 

4.  Select  or  order  you  records  you  want  to  see  if  necessary 

5.  Type  s    ' scan<ENTER> '   and  follow  prompts 

6.  It  quits  after  reaching  the  end  or  you  abort  it 

7.  Call  it  any  time  by  typing  its  name  after  it  is  loaded 


Set  up  all  variables  as  local  so  no  interference  with  other  procedures 
All  other  symbols  are  commands    or  functions  defined  in  archive  section 


Uses 


fl,f2,f3     are  field  numbers  or  -1 
dl,d2,d3     are  decimal  places  or  -1 

fl$,f2S,f3S  are  used  to  hold  values  in  form  for  display 
sl,s2,s3     are  used  to  hold  sums  of  numeric  fields 


rem 
rem 
rem 
rem 
rem 
rem 
rem 
rem 
rem 
rem 
rem 
rem 
rem 
rem 
rem 
rem 
rem 
rem 
rem 
rem 
rem 
rem 
rem 
rem 
rem 
rem 
rem 

local  1$, i, j,k,fl,dl,fl$»sl,f2,d2,f2S,s2,f3,d3,f3S,s3,print_out 

rem 

rem     Initialize  potential  decimal  places  for  three  fields  to  -1 
rem 

let  dl=-l:    let  d2=-l!    let  d3=-l 

rem 

rem 

rem    Set  mode  0  for  large  screen,   print  heading,    if  no,  file  Is  open  an  error 
rem      will  occur  at  'print  count ()'   since'  there  is  no  count 

rem 

mode  0:   print  "Scan  up  to  3  specified  fields  of      count ();"  selected  records  " 
print  at  2, 2;  "The  records  will  be  scrollied  by  with  selected  fields  on  a  line" 
rem 

rem    Loop  until  answer  is  'yes'   or  •no* 
rem 

let  1S="":   while  i$<>"y"  and  l$<>"n" 
print  at  4,0;rept<"  ",80); 

input  at  4, 2; "Output  to  printer  also  C   y/n  3    :  "{1$ 

endwhile 
rem 

rem    Set  print_out   'true'    if   'yes*    or  'false'    if  'no' 
rem 

if  i$="y":    let  print_aut=l:   else  j    let  print_out=0{  endlf 
rem 

rem    Print  out  all  fields  with  field  number  In  front  of  it.    If  more  than  50 

rem      fields  they  are  not  printed 

rem 

els  {   print  "Fields  that  can  be  scanned":   print  t    let  i=Os    let  J«2{    let  k=0 


UPDATE  MAGAZI^E 


OCTOBER  1988 


while  i<nujnfld<) 

print  at  j  ,  k;  nuin<i ,  2) ;  "     " +  f  ieldn <i >  ;    let  l=i  +  l:    let  j=j+l 
if  J =12:    let  k=k+15:    let  J=2:  endif 
end while 
^  ^rem 

rem     Prompt  for  first  field  of  scan.    If  it  is  not  a  number  or  out  of  range 
rem      return  otherwise  set  fl  to  the  field  number 

rem 

input  at  15,0;  "First  field  to  include  in  scan  [    #/<EirTER>  if  none  3    s  ";i3i 
let  f  l-lnt<val<l$)> :    if  fl=0  and  iS<>".0":   mode  1:   return  :  endif 
if  fl<0  or  f l>numf ld()-l:   mode  1:   return  :  endif 
rem 

rem    Get  decimal  places  desired  In  listing  if  field  is  numeric,   set  sum  =  0 

rem 

if  not  fieldtCfl) 

print  "     Decimal  places  for  "+f ieldnCf 1)+"   :   "{!    input  1$;:    let  dl=val(i$) 
if  dl<0:    let  dl=0:   endif  :    if  dl>10:    let  dl=10:   endif  ;    let  sl=0 
endif 
rem 

rem    Prompt  for  second  field  to  scan.    If  not  a  number  or  not  in  range  set 

rem      f2  =   -1  otherwise  f2  set  to  the  field  number 

rem 

input  at  17,0;"Second  field  to  include  in  scan  f    #/<ENTER>   if  none  3    :   " { iS 
let  f2=int(val<i$>):    if  f2=0  and  iS<>'»0":    let  f2=-l:  endif 
if  f2<0  or  f2>numf ldO-1:    let  f2=-l:  endif 

rem 

rem    Get  decimal  places  desired  in  listing  If  field  is  used  and  numeric 

rem      set  s2  =  0  ,   keeps  track  of  sum  of  field  2 

rem 

if  f2<>-l  and  not  fieldt<f2) 

print        Decimal  places  for  "+f  ieldnCf 2>+"   s   " ;  :    input  i$;  :    let  d2=val(iS> 

if  d2<0:    let  d2=0:   endif  :    if  d2>10:    let  d2=10:   endif  :    let  s2=0 

endif 

rem 

rem    Prompt  for  third  field  to  scan.    If  not  a  number  of  not  in  range  set 
rem      f3  =  -1  otherwise  set  f3  to  field  number 

rem 

input  at  19,0; "Third  field  to  include  in  scan  C    #/<ENTER>   if  none  3      :   " ; iS 
let  f3=int (val (i$) ) :    if  f3=0  and  i$<>"0":    let  f3=-l:  endif 
if  f3<0  or  f3>numf ld()-l:    let  f3=-l:  endif 
rem 

rem    Get  decimal  places  desired  in  listing  if  field  is  used  and  numeric 
rem      set  s3=0,   keeps  track  of  sum  of  field  3 

rem 

if  f3<>-l  and  not  fieldt(f3) 

print  "     Decimal  places  for  " Hf ieldn (f 3) +"   :  input  IS;:    let  d3=valCi$) 

if  d3<0:    let  d3-0:   endif  :    if  d3>13:    let  dS^lS:  endif 

endif 
rem 

rem    Print  out  heading  and  fields  selected  and  message  about  halt 
rem 

els  :    print  "Scan  selected  fields  of       count (>;"  selected  records" 
print  at  2, 2j "Press  any  key  for  temporary  halt" 

print  at  3, 2; "The  number  in  the  left  column  is  the  record  number" 
print  at  6,0;"Rec  #" ;   tab  11; f leldn<f 1) ; 
if  f2<>-l:   print  tab  31 ; f ieldnCf 2) ; :  endif 


67 

UPDATE  MflGAZItE  OCTCBER  1988 


if  f3<>-l:    print  tab  54; f ieldn <f 3) j :    endlf  i    print   :  print 
rem 

rem     If  print_out  warn  to  put  printer  online.    Print  heading  to  printer 
rem 

if  print_out 

print  at  4,2;"***     Make  sure  printer  is  online  ;   print  at  8,0; 

Iprint  "Scan  selected  fields  of  "; count <>;"  selected  records":  Iprint 
Iprlnt  "Rec  #" ;   tab  11 ; f ieldn <fl ) ; 
if  f2<>-l:    Iprint  tab  31 ; f ieldn <f 2) ; :  endif 

if  f3<>-lj   Iprint  tab  54 ; f ieldn <f 3) ; i   endlf  :    Iprint  :  Iprint 
endif 
rem 

rem    Set  to  beginning  and  begin  printing  line  by  line  until  end  of  file 

rem 

first  :   while  not  eofO 
rem 

rem    Check  for  key  press  signaling  pause  request.    Allow  for  restart  if  only 

rem      if  <spacebar>  pressed  otherwise  return 
rem 

rem 

if  inkeyOO"" 

print  '.   print  "Press  <space  bar>  to  continue  or  any  other  key  to  stop  s  "; 

if  getkeyOO"  " :   mode  1:   return  !   endif  :  print 

endif 

rem 

rem    Store  value  of  3  fields  to  fl$,f2S,f3$  making  decimal  if  numeric 
rem 

if  fieldtCfl) 

let  f l$=f ieldvCf 1) :   else  :    let  f l$=decCf ieldvCf 1) , dl, 12) :  endif 
if  f2<>-l 

if  d2=-l:    let  f2$«f ieldvCf 2) :   else  :    let  f 2S=dec <f leldv <f 2) , d2, 12) :  endif 
endif 
if  f3<>-l 

if  d3=-lJ    let  f3$=fieldv<f3) J   else  ;    let  f 3$=dec (f ieldvCfS) , d3, 20) s  endlf 

endif 
rem 

rem    Keep  sum  of  any  numeric  fields 
rem 

if  dlO-lj  let  sl«sl+fieldv(fl) !  endif 
if  d2<>-l:  let  s2=s2+f ieldv <f 2) :  endif 
if  d3<>-l!    let  s3=s3+f leldv(f3) !  endlf 

rem 

rem  Start  printing  line.  First  record  number  then  first  field  then  2nd  and 
rem      3rd  if  the  are  defined.   Likewise  print  to  printed  if  print_out  true 

rem 

print  recnumO;   tab  8;flS; 

if  print_out!    Iprint  recnumO ;   tab  8;flS;:  endlf 

if  f2<>-l 

print  tab  28jf2$;s    if  print_outj    Iprint  tab  28;f2S;:  endif 
endif 
if  fSO-l 

print  tab  48;f3S;:    if  print_out:    Iprint  tab  48;f3S;:  endif 


b8 


UPDATE  MAGAZINE 


OCTCBER  1988 


endlf 
rem 

rem    Finish  print  line 
rem 

print  :    if  print_out:    Iprint  :  endif 
rem 

rem    Advance  to  next  record 
rem 

next 

endwhile 
rem 

rem    Listing  done.    Print  out  sums  if  any 
rem 

print  :   print  "<"; count <);">" ; 

if  print_out:    Iprint  ;    Iprint  "<";  count  <);••>♦•{  ;  endif 
if  dlO-1 

print  tab  8; dec <sl , dl , 12) ; 

if  prlnt_aut:    Iprint  tab  8; dec <sl , dl , 12) ; :  endif 
endif 
if  d2<>-l 

print  tab  28; dec <s2, d2, 12) ; 

if  print_out:    Iprint  tab  28; dec (s2, d2, 12) ; :  endif 
endif 
if  d3<>-l 

print  tab  48; dec (s3, d3, 20) ; 

if  print_out:    Iprint  tab  48; dec <s3, dS, 20) ; j  endif 

endif 
rem 

rem  Wait  for  acknowledgement,  set  mode  to  1  and  return 
rem 

print  :    if  print_out:    Iprint  :    Iprint  .•  endlf 

print  :    input  "Scanning  Done.   Press  <ENTER>" ; iS; :   mode  1 

endproc 


Editor's  comments:  I  learned  more  about  ARCHIVE  by  reading  these 
articles  and  a  few  hours  working  the  programs  than  I  could  have  in  six 
months  of  study  and  experimenting  without  them.  We  can  keep  excellent 
programmers  such  a  Bill  Cable  working  for  us  ONLY  IF  we  respect  their 
propriety  rights  to  their  works  and  PAY  THEM  FOR  WHAT  WE  GET. 

Frankly,  I  see  dozens  of  SHAREWARE  (IBM)  softwares  being  given  about,  in 
this  small  city,  and  VERY  FEW  bother  to  send  the  author  payment.  The 
tenancy  is  for  one  to  think  of  his  friend  as  the  giver,  and  not  the  author 
of  the  software.  I  sincerely  hope  that  the  Sinclair  QL  users  will  not 
destroy  their  software  su^jport  by  disregarding  INIBGRETY. 

All  of  Bill  Cables  works  in  this  issue  will  be  in  the  October  88  "CABLE" 
ISSUE  DISK  and  MICRO  DRIVE  ISSUE.  You  may  Order  the  disk  or  send  a  mdv 
cart  in  for  dubbing.  Send  orders  or  mdv  cart  to  UPDATE,  $20.00  postpaid, 
and  specify  "CABLE  DISK". 

Also,  you  may  send  your  thanks  and  comments  directly  to  Bill  Cable.  If 
you  expect  a  reply,  please  inclose  a  SASE. 

fa9 

UPDATE  MAGAZIl^;  OCTOBER  1988 


OCrOBER  1988 


UPDATE  MAGAZINE 


UPDATE  SUPPLY  SUPPORT 

UPDATE  ITEMS  FOR  SALE:  'Ihese  items  are  purchased  in  bulk  and  can  be  offered 
at  lower  than  most  local  prices.  All  prices  include  shipping.  Order  by 
"UDHI=".    Add  25%  for  Canadian  orders. 

UD-frl     Desk  top  Disk  Case,  holds  seventy  5.5"  floppies,  nice  smoked  plastic 
with  hinged  top —  $7.50  each 

UI>-#2   Six  outlet  115V  Surge  Suppressor-  ON-OFF  SW,  6'  cord,  15  amp  reset  ckt 
breaJ^er,  ON-OFF  led  indicator —  $19.95  each 

UD-#3  Six  outlet  115V  Surge  Suppressor  as  above,  includes  EMI/RFI/Noise/Surge 
suppression —  $27.95  each 

UD-#4   White  Labels  (same  as  UPDATE  Mailing  label),  5000  labels  on  continuous 
feed  tractor  form —  $22.00 

UD-#5     Diskettes  5.5"  hi  quality  DS/DD  40  track,  includes  sleeves  and  tabs— - 
$8.00  box     of  10 

UD-46     Diskettes  5.5"    Dysan  Premium    D6/DD  80    track  96    tpi.    Use    for  all 
Sinclair  QL  and  TS-2068  80  track  drives —  $20.75  box  of  10. 

UD-<fr7  Printer  Ribbon   Cartridge  for  Star   Mi  cronies  1000  series.      Box  of  six 
cartridges —  $39 . 75    (Single  cart — $8 . 00) . 

UD-<»8  Un-Priced:    UPDATE   will    order   ribbon    cartridges    in   units    of  six 
cartridges  and  ship  to  you  with    a    invoice.      Price   depends   upon   size    of  , 
cartridge  and  will  be  within  plus  or  minus  $5.00  of  UD-#7  above. 

UI>-#9  PAPER,  2500  sheets  20  lb  white  bond,  tractor  feed,  laser  perf  for  easy 
tear  off.  standard  letter  size  break  down  to  8.5X11"—  $31.90  (Check  locally, 
you  may  be  able  to  beat  this)-  US  orders  only. 

THE  FLEA  MARKET 

Subscribers  may  participate  FREE  to  move  surplus  items.  Limit  is  one  3  line 
insertion  per  issue.  Make  the  print  Elite  12  characters  per  inch,  line 
lenght  of  16  characters,  including  spaces.     No   fancy   printing.     Use  the 

following  for  examples  of  format.     .     „  ,  

UPDATE  SURPLUS  items:    For  TS-2068:    One  Zebra  OS-64  Cartridge —  $16.00.  One 
Tasman  CPI —  $16.00. 

One   A&J  Micro  Drive  for   the  TS-2068  plus  about    15  cartridges.    Has  printer 
interface  and  is  in  working  condition — $40.00 

One  AMDISK  III  twin  3  inch  Disk  Drives  in  case  with  power  supply  and  cable  to 
fit  all  TS-2068  disk  controllers,  includes  manual  and  19  diskettes.  Works 
great,  just  plug  it  in —  $99.00.  Know  what  your  are  buying!  This  W  is 
unsupported  by  software,  but  makes  an  ideal  additional  pair  of  drives.  Data 
cable  has  2  extra  connectors  for  hooking  up  to  other  drives. 

ONE  T5-2040  Printer  (works  A-OK)— $25.00.    One  Seikosha    SP-1000  dot  matrix 
printer,  worl^  now  but  print  head  lueginnirig  to  skip  ecarie  pins— $55.00. 


UPDATE  WAGAZI^E 


70 


CCrCBER  1988 


OCTOBER  1988  UPDATE  MAGAZINE 


UPDAITS  FLEA  MARICEi',  Continued 

lB-1000  items  for  projects:  5  TS-1000  ckt  boards  all  chips  a<-  7  'iVo 
Oliger  Color  VDP  boarxls  QC-  ?  Several  EPROM  Read  Boards--  ?  J^Ji^^^ 
chips,  Z-80  CPU's  and  Z-80  periphreal  chips-  ?  ."n^fse  parts  "^^^^^  9^^^"/^ 
an/one  who  needs  them  for  building  interface  projects  for  the  l^-2U5e  or  Ui^. 

ONETS-1500  like  new— $35.00.  ONE  TS-1000  NEW— $30.00  (both  have  all 
assessor ies) . 

For  the  hacker:  a  cornuco(/pia  of  electronics  parts,  diodes,  transistors, 
IC's,  relays,  etc,  on  surplus  circuit  boards.  Boards  weigh  about  2  pounds 
and  must   have  over  a  hundred  salvagable  parts— $7.00  per  board  (cost  nearly 

that  to  ship) . 

UPDATE  Magazine  is  a  sister  to  GULF  MICROELEX^BDNICS,  which  has  a  J^ost 
unusual  stock  of  hard  to  find  IC  chips,  analog  devices,  regulators,  CPU  s, 
interface  chips,  power  transformers,  vacuum  tubes,  etc.  If  you  are  looking 
for  something  aixl  cannot  find  it,  its  worth  a  CALL. 

One  1954  EDSEL— try  $49000.00  or  trade  for  new  Mercades 

One  Missouri  Mule  49  years  old,  mean  and  uncooperative,  unusual  personality, 
can  hear  him  bray  from  four  miles  away.  Come  and  get  him  for  free.  Might 
pay  you  something. 

One  island  across  from  New  York  City.  Indian  tribe  repossessing  and 
reselling.    Inquire  for  confidential  deal. 

Prospector's  map  to  lost  gold  mine  in  Nevada — $100.00 

Tickets  to  last  year's  Super  Bowl  50  yd  line,  reduced  price. 

Persons  wanting  FLEA  MARICET  items  should   CALL   first   to   reserve   the  item 


needed. 


SOFl^mE  AND  HARDWARE  SUPRDRT  fOR  SINCLAIR  COrPUTERS,  (CooPliiDentary  listings) 
woor>    A.jsi  r>    wiTsrr>    oomiptj-t  i  isro  


Bill  Cable  :   KR  2  Box  92  :   CornisH.   BU  03745  :   G03  675  2216 
SPECIALIZING  IN  SERIOJS  SOFTWARE  FOR  THE  SINCLAIR  (3L 

i  RRraWRPRTsES  I         QL  aid  TS-2068  SIPPORT.     RHG  ^&;^erpNses   has  a 

I  IMS  1/2  71H  STREET .  uREBai  cm,  UR  97WS  I  full  line  of  support  for  both  ^ot^ters.     is  Aiub 

L_  -^.i/Ag^-TAM  I  support  includes  all  disk  drive  systems,  hardware  and 

 Forou;t,  Jpa,,c,uio,   software    CL  su^rt   includes  nK>st  periPhreals  and 

„^  i3,M~R«f«ndBd  on  isi  ordtr         many  softwars  items. 

OUi^ai^,  Jieoi  Mdbey  Drive,  QMberland,  IN  ^16229. 


imKIE  MAGAZI6E 


71 


OCrCBER  1988 


OCrOBER  1988  UPDATE  MAGAZItC 


flillenia  K  Disk  and  SPDOS  Software  Support:  tUison  Cockayne,  3^2  Trotter 
Court,  Sanford,  FL  52763. 

TS-206d  Disk  Drive  System  and  Ram  Disk  Cartridge:  Larken  Electronics, 
m-2,  Navan,  Chtario,  Canada  K^B  1H9, 

TS-2068  Software  to  PLOT  and  Faint  Color  Screens  to  paper;  Jotn 
rJc/lichaeh  1710  Palmer  Drive,  Laramie,  WY  82070. 

TS-2068  Software,  also  AEROO  FD-68  Software:  Chi<hia  Chao,  73  Sullivan 
Drive,  i^brago,  C4  9^56-1209. 

TS-ZOeS  Software:  Herb  Bowers,  2588  Woodshire  Circle,  Chesapeake,  VA 
23523, 

flillenia  K  Disk  and  SPDOS  Software  Support:  Cuyohoga  Valley  Software, 
615  School  Ave.,  CUyotioga  Falls,  OH  m22U 

TS-2068  and  QL  Software:   Paul  Bingham,  Box  2054,  Mesa,  AZ  8520^, 

TS-2068  Software,  Plus  AERCO  FCh68  software:  Jack  Dohany,  590 
Rutherford  Ave, ,  Redwood  City,  CA  9W61. 

TS-2068  Software:   LeniPke  Software,  2m  Miite  Oak,  Wichita,  KS  67207. 

TS-2068  Support,  and  Magazine  on  tape:  Byte  Power,  1748  ileadowview 
Ave.,  Pickering,  Ontario,  Canada  LI V  508. 


T  S  -  2  0  8  8 


PROGRAnS 


Ol»mon4  Hlkt  II  and  Crwl  G»if9  «  GraphtoM 
Shovt  Two  |rt«l  profraM  for  only  flO. 

tionty  NMohint  11 1  Tht  UIIImU  Word  Ga«« 
basfti  on  a  popular  TV  |aa«  ihov.  til. 

VortI  TulBitrt    Cuiloaizo  your  own  vord- 
fftaroh  puxtlt.    Vooabulldori  Eaar-to-uia 
ffduaallonal  prograa.    Bolh  lor  only  UO. 

Proiraia  abovt  aro  avallablt  on  Up«  or 

A«reo  FD-ee  6  1/4"  doubl*  d«nally  dl»k. 

Foilowinf  program  »r«  for  A«roo  FO-68 
only.     AvalUbit  on  5  1/4"  disk  or  l»p«. 

Disk  FU*  ftanagtri  Copy  Individual  fllaa, 
cv«n  on  flngla  dri»«  fyalw.  D«lall«d 
oslaloc,  and  nany  oUi«r  funotlona.  tlS. 

OmnlDiMkt    Convtrt  Oanioalo  II  lo  disk. 
Cualoalxt  aany  optioni*  *9, 

Prieaa  Inoludo  poataga.  Plaaaa  aand 
22-oanl  ataap  for  eonplota  eatalof  or 
chaok/aonay  erdar  lot.  Cliia-Ciil  Chao 
73  Sullivan  Oriva,  Horaga,  CA  94666-1209 


Pixel  Print  PLUS! 

THE   OeSKTOr  rUBLISHEn 


P  PEBrOBlUaiC£l 


g  hiSWiSftAfi^-CiAO  icon 

▼  (P««t»l«n  awrmor,   Ci»4.   LOAD  I 

41  KCtP/WllDO/'SAVB/I.S^SiCkSSR-. 

irin*  »»«e!lc**o   In  dovoloP.' 
SI  COPT/'iaiASC/IIWeRTy'DBLirrB/'IIBII 
Tl  ACRCO/^'ASilAII/'IkaJ  CP! 


«)  IBH/EPSOII/'PnOMBiTCR  FrlM«»i-» 
th«    f^a'.'jr**    found.  In   v    3  •  w » 

«nd  row  PiKol  Print  fll«»ll 
Tha  PLUS  »•  »vnetlon« 
ea   aVk*    this  «*'*n  n9r« 

PIxil  Prln^  PLUS  (73.1) 

11.  PI I    « " « jr.j-"®    " "* 

Hith  rOHTg   and    ICOHw.  .  .  » 


aPDATE  MAGAZI^E 


72 


CXn:CBER  1988 


p 


Computer  Repair:  TS-2068  and  QL;  Dan  Elliott,  RR-I  Box  117,  Cabool,  110 
65689. 

TS-2068  and  QL:  Curry  Computer,  PO  BOX  5607,  Glendale,  AZ  85512-5607. 

TS-2068  Software:  m  Data  Systems,  4  Butterfly  Dr. ,  Hauppauge,  NY  1 1788 

QL  Computer  Repair:  Also  QUANTA  SOFTWARE  LIBRARIAN,  9015  Flicker  Place, 
Columbia,  /V  21045. 

Th€  SINCLAIR  Z88  Computer:  Known  dealers  and  suppliers  are:  Mike  Fink, 
555  y.  39th  St.,  N.Y.  City,  10018-1401.  (212  695  1401),  RUG  Enterprises, 
1419  1/2  7th  St.,  Oregon  City,  OR  97045  (503  655  7484),  SHARP'S  INC.,  RR-10 
Box  459,  tiechanicsville,  VA  23111  (804  746  1664). 

See  other  ads  and  announcements  in  this  issue.  The  above  are  Just  part 
of  the  supporters  of  QL,  TS-2068,  and  188  Computer  systems.  Others  will  be 
announced  as  UPDATE  receives  more  information  that  spec  if ys  support  areas. 


caricature  a-F  the  UPDATE  A/ews  Roam,   relaxation  between  issues. 


Actually,  the  above  photo  is  a  courtesy  re-print  -from  NATIONAL 
GEOGRAPHIC  MAGAZINE,  but  it  closely  resembles  the  neat  e-F-Ficiency 
a-F  the  UPDATE  editorial  ai=fice  and  your  editor  relaxing  between 
issues.  Across  in  the  other  earners  a-F  the  o-FFice  are  equally 
neat  TS-206B  Lab,  QL  Lab,  and  A  IBtl  AT  clone  system.  The  center 
oF  the  oFFice  is  taken  up  by  a  copy  machine  and  a  huge 
nastebasket,   neatly  overFlowing  with  discarded  ideas. 


UPDATE  MAGAZI^E 


73 


OCTCBER  1988 


THE  UPDATE  SOFTWARE  LIBRARY 


Separate  libraries  for  the  Sinclair  OL  and  TS-2068 

Most  of  the  diskettes  and  micro  drive  cartridges  contain 
the  softwares  and  utilities  described  or  listed  in  a 
quarterly  issue  of  UPDATE  Magazine.  Most  will  contain  more 
than  one  software  plus  all  of  the  utilities  given  in  the 
quarterly  issue.  Some  will  also  contain  other  programs  not 
given  in  the  pages  of  UPDATE.  Each  disk  or  mdv  cartridge  is 
"unconditionally  guaranteed  to  please".  The  price  of  each 
named  disk  or  mdv  is  $20.00  (postpaid). 


The  Sinclair  QL  Software  Library 

Both  Disk  and  Micro  Drive  are  supported.  All  softwares 
presented  will  run  on  the  UNEXPANDED  QL.  But  some  may 
contain  extensions  for  utilizing  extra  memory  and  tool  kit 
functions .  Disk  format  is  DS/DD  80  track  96  tpi .  Due  to  the 
cost  of  mdv  carts  and  availability,  orders  for  a  issue  series 
on  mdv  cartridge  must  be  accompanied  by  a  mdv  cartridge. 
UPDATE  then  records  the  programs  and  returns  the  cartridge. 
UPDATE  is  Just  getting  started  with  the  QL  Library  and  only 
two  Issue  Series  are  offered  at  this  time.  Individual  Issue 
Series  are  as  follows: 


OCTOBER  88  "Cable  Issue" 


The  CABLE  issue,  on  disk  or  mdv  cart, 
contains  the  FOUR  softwares  given  by  Bill 
Cable  in  this  current  issue.  Two  of  these 
are  softwares  to  enhance  and  extend  the 
capabilities  of  the  PSION  ARCHIVE  software. 

"REFIELD\  runs  under  ARCHIVE  to  allow  you 
to  ADO,  RESTRLCTURE,  and  DELETE  fields  of 
the  ARCHIVE  DATA  BASE. 

"SCAN",  an  ARCHIVE  program,  lists  three 
selected  fields  on  a  line  for  each  record, 
and  SUMS  the  nuneric  content  of  the  fields. 
The  output  can  be  sent  to  the  printer. 

"HELPER",  is  a  Superbasic  program  which 
provides  a  new  "TOOLKIT"  set  of  functions. 
These  functions  are;  Directory  with  Copy, 
DELETE  a  file  or  program,  TOTAL  COPY  of  a 
MDV  or  Floppy,  Multiple  FORMATTING,  Screen 
Window  Set-up,  and  Date-time  setting. 

"ARm-METIC  DRILL",  in  Superbasic,  is  a 
sifnple  program  to  lielp  learn  progranmlng  and 
let  the  kids  use  to  drill  in  math. 

The  above  FOUR  programs,  and  their  annexes, 
come  on  TWD  mdv  Carts  or  one  Diskette.  The 
REFIELD  program  alone  takes  up  a  whole  mdv 
cart,  and  the  other  three  take  up  all  space 
available  in  another  mdv  carfc.  So,  no  room 
for  the  other  October  issue  programs  and 
utilities.  This  Is  an  outstanding  value  at 
$20.00. 


OCTOBER  88  "Hartung  Issue" 


The  HARIUNG  issue,  on  disk  or  mdv 
cart,  contains  Bob  Hartung 's  "QL 
Address  File"  prograjn,  plus  all  of  the 
utilities  of  the  October  issue  which 
could  be  stuffed  into  a  mdv  cartridge. 
"/Address  File"  is  a  sinple,  quick  and 
easy  program  to  use.  Also,  it  can 
serve  as  a  Inventory  data  base.  Its 
printing  ability  makes  loading  up  to 
print  labels  a  easy  chore.  Screen 
listings  and  print  out  can  be  by 
alphabetical  or  by  last  name. 
Individual  names  may  be  searched  out. 
In  his  article.  Bob  gives  full 
instructions  and  even  allows  for 
modification  to  use  the  ^0  column  TV 
display.  This  is  a  good  program  to 
study  for  sinple  basic  progranining. 

tmLITIES  are  added  to  fill  up  the 
mdv  cart.  Sane  of  the  utilities  that 
are  given  are  not  Included  in  the 
UPDATE  magazine  pages.  (Just  had  to 
quit  at  76  pages!).  The  Hartung  Issue 
comes  on  either  one  MDV  cartridge  or 
one  Diskette.-  sane  price  $20.00. 


UPDATE  MAGAZI^E 


74 


OCrCBER  1988 


 UPDATE  MAGAZI tE 

THE  TS-2028  Disk  Software  Library 

TS-2068  Disk  Drive  Systems  supported  are,  Oliger  Safe, 
Larken  LKDOS,  and  Aerco  FD-68.  Disks  are  available  for  these 
systems  on  5.25  inch  DS-DD  40  or  80  Track.  Some  individual 
programs  in  disk  will  be  for  a  specific  DOS  and  will  be 
identified  in  the  listings  below.  Most  of  the  programs  and 
utilities  are  those  published  in  UPDATE  Magazine  issues,  but 
some  will  be  other  programs  not  given  in  the  issues,  included 
to  add  value.  Price  is  $20.00  per  disk  (postpaid).  Orders 
for  more  than  one  disk  may  take  10*  off  total  price. 
Individual  issue  series  are  listed  as  follows: 


OCTOBER  1988 


The  October  88  "SMART  TEXT"  ISSUE 


For  Larken  LKDOS,  Oliger  DOS,  Aerco  FD-68 
Your  scribe  decided  to  donate  the  Smart 
Text  software  to  the  UPDATE  Library. 
Since  the  Smart  Text  manual  is  70  pages  in 
length,  and  the  program  listing  is  a 
quarter  of  a  mile  long,  it  isn't  practical 
to  give  the  documentation  in  the  magazine. 
Smart  Text  is  the  most  extensive  software 
ever  offered  for  the  TS-2068.  It  is  a 
Multiple  Data  Base,  and  a  Disk  Integrator, 
that  has  a  Word  procossor.  Also  included 
is  MAIL  MERGE.  These  four  main  systems 
are  integrated  to  provide  many  automatic 
functions  not  present  in  other  softwares. 
For  instance,  a  thousand  letters  of  the 
same  or  different  text  may  be  printed 
NON-STOP.  Or,  one  can  just  type  and  print 
some  data.  Or,  one  may  elect  to  print  one 
or  a  thousand  labels  from  the  mailing 
list;  a  1  page  or  a  100  page  document,  an 
outline,  an  inventory  listing.  Smart  Text 
uses  disk  as  if  a  whole  package  of 
diskettes  are  extensions  of  TS-2068  FREE 
Momory.  The  Smart  T6>d:  iaaue  comes  on 
either  two  40  track  diskettes  or  one  80 
track  disk  and  includes  a  70  page  manual. 
$20.00  (postpaid) . 

Earlier  buyers  of  Smart  Text  may  want 
to  combine  an  order  for  this  Newest 
version,  which  has  column  printing  option, 
alternate  format  for  using  pre-printed 
letterhead  stationary,  elective  for  Dot 
Matrix  or  Daisy  Wheel  printers,  FUll  Edit 
during  input  typing,  mail  file  sorting, 
and  postscript  option  for  letters. 
Earlier  buyers,  add  only  $10.00  to  another 
disk  order  to  receive  this  version. 


The  October  88  "HARTUNG"  ISSUE" 


This  Is  for  OLIGER  DOS  ONLY,  and  is  a 
collection  of  10  "Disk  Management" 
programs  presented  in  four  issues  of 
UPDATE  Magazine.  Bob  Hartung  started  with 
a  early  program  given  by  John  Oliger  and 
worked  for  a  year  expanding  to  provide  a 
most  capable  disk  management  system. 
Bob  named  these  programs  "The  DOSDEX" 
System.  This  October  88  UPDATE  Magazine 
issue  documents  the  last  of  this 
outstanding  group  of  programs.  Earlier 
magazine  issues  documents  the  others. 
This  disk  issue  includes  all  of  the  DOSDEX 
programs  on  a  single  disk  that  will  let 
you  index  and  manage  a  complete  Diskette 
Library,  or  to  re-organize  the  individual 
diskettes,  programs,  or  files,  in  any 
manner  that  you  choose.  OR-  Each  of  the 
individual  programs  may  be  merged  to 
another  program  to  give  that  program  new 
capability.  This  is  an  outstanding  group 
of  programs!  $20.00 


The  Apr/ July  88  "MITCHEL  DISK"  Issue 


For  Oliger  DOS,  Larken  LKDOS,  and  Aerco 
FD-68.  Two  UPDATE  issues  were  required  to 
present  the  listings  and  documentation  of 
Bob  Mitchell's  excellent  HOUSEHOLD  BUDGET 
software,  which  is  included  in  this  issue 
disk.  Also  included  are  all  of  the 
utilities  given  in  both  the  April  and  July 
88  issues.  These  are;  MS-TAS,  a  utility 
that  prints  out  either  Mscript  or  Tasman 
Data  files  "without  need  for  the  host  word 
processor",  PEEK  VARS  utility,  some 
printer  code  initialization  utilities,  a 
Disk  Menu  that  can  be  converted,  and 
several  modified  public  domain  programs. 
All  of  these  programs  and  utilities  maxes 
out  a  40  track  disk.  $20.00  (postpaid) 


UPDATE  MAGAZINE 


751 


ocrcsm  1988 


Tl\e  Oct  87/Jan  88  "UPDA'IE"  Issue 


For  Oliger  DOS,  Larken  LKDOS,  and  Aerco 
r-I>-68.  'Ihe  programs  and  utilities  of  the 
two  first  UPDATE  issues  are  consolodated 
into  one  issue  disk  to  give  an  outstanding 
value.    The  main  Software  isj 

MAIL  MERGE,  a  data  base  and  printing 
software  to  create  and  print  out  mailing 
lists,  inventories,  and  other  data  files 
that  need  arrangement  in  a  format  of  from 
one  to  7  lines  per  field.  Another  data 
base  "Outline"  allows  "school  and  Church" 
type  outlines  to  be  produced  and  printed 
in  indented  format  for  "major  topics,  and 
sub  topics".  TWo  sorting  routines  allow 
sorting  by  'first  or  last*  name  of  the 
mailing  list.  Ihen  other  nicities,  such 
as  "letter  heads"  may  be  printed.  The 
print  products  are:  Complete  print  out  of 
the  mailing  list,  print  out  of  selected 
fields,  print  to  labels  of  the  entire  list 
or  individual  fields.  Ail  printing  may  be 
to  your  elected  TAB  position,  and 
formatted  to  your  elected  number  of  lines 
between  fields.  Automatic  page  control  is 
optional  so  that  the  printing  can  be 
either  continuous  or  under  page  control. 

Two  annexes  of  the  Mail  Merge  program 
ai-e  included: 

"Purity",  a  program  that  takes  a  mailing 
list  produced  by  Mail  Merge  or  Smart  Text, 
and  purifies  the  listing  by  eliminating 
duplicate  names  and  skips  in  the  listing. 
PURITY  also  allows  you  to  break  down  the 
larger  listing  into  smaller  groups  of  mail 
files  that  may  be  processed  by  the  Stoart 
Text  software  for  continuous  printing  of 
automatic  personalizes  form  letters. 

"LIST  LOOKER",  is  a  program  that 
supplements  both  Mail  Merge  and  Smart 
Text.  LIST  LOOKER  loads  a  Mail  File, 
tells  you  the  Dimension  of  the  Character 
array,  lets  you  screen  print  the  listing, 
or  print  the  listing  to  paper.  Print  out 
is  to  your  elected  format.  Also,  Label 
Printing  is  an  option. 

ALL  THREE  of  the  above  programs  work 
automatically  in  the  disk  drive 
environment  and  supplement  each  other. 

EXTRA  MEMORY  UTIUTIESs  This  disk 
contains  four  utilities  given  in  the 
January  88  issue  to  use  with  DOa<  RAM. 
Tliese  utilities  reconfigure  the  Home  Bank 
of  memory,  MOVES  a  Basic  program  from  DISK 


into  DOCK  BANK  RAM,  then  moves  another 
program  from  disk  into  HOME  BANK,  in  order 
to  allow  the  joint  operation  of  programs 
in  both  Home  and  Dock  banks. 

SVllL  MORE!  Included  are  20  sound  and 
visual  utilities  to  plaggerize  and  use  in 
your  own  programs.  Dont  worry,  VPDATE 
gives  these  20  utilities  to  you  for  that 
purpose. 

••J-mTLITIES",  a  group  of  useful 
utilities  by  UPDATE,  crunches  numbers  and 
disassembles  memory.  One  of  these 
actually  uses  mixed  inputs  of  Binary,  Hex, 
and  Decimal  to  multiply/  divide,  add,  and 
subtract,  and  gives  the  answers  in  all 
three  number  bases,  (dont  believe  this  one 
has  ever  been  done  before) . 

This  great  group  of  software  mid 
utilities  offered  for  $20.00?  Gotta  be 
kidding,  but  they  are!  And,  you  wont  find 
them  anywhere  else.    They're  exclusive. 


About  The  Issue  Disk  Program 

The  UPDATE  Software  Library  will 
continue  to  Ixiild  as  more  issues  of  the 
magazine  are  published  and  more 
programmers  participate.  Half  of  the 
proceeds  of  issue  sales  go  to  the 
authors  of  these  fine  programs.  The 
other  half  is  absconded  by  UPDATE 
Magazine  to  pay  for  the  disks,  mailing 
expenses,  and  the  upkeep  of  the 
corporation's  300'  luxury  yacht  which 
plys  the  seas  between  Monaco,  Aruba, 
and  Nassau  on  official  business.  So 
far  we  have  had  nothing  but  praise  and 
satisfaction  expressed  by  the 
purchasers  of  the  issue  disks,  so  with 
some  trepidation,  and  a  touch  of 
boldness,  we  added  the  comment, 
"Unconditionally  Guaranteed  to  Please" 
to  the  sales  pitch  for  the  Issue  Disks. 
Update  really  wants  the  issue  disk 
program  to  be  successful  because  it 
provides  our  programmers  at  least  SOME 
compensation  for  their  work  (besides 
their  personal  satisfaction) . 


UPDATE  MAGAZINE 


76 


OCTCBER  1988 


BBEtnjEk  VIP 


$'4.95       OCroaER  19 


o-    SINCLAIR  COMPUTERS 


ADVERTISING  RATE  SCHEDULE 

effective  until  July  1989 

UPDATE  MAGAZINE  Is  published  quarterly  each  January, 
April,  July,  and  October  in  support  of  the  users  and 
suppliers      of      the      SINCLAIR      QL,      SINCLAIR      Z88,  AND 

SINCLAIR-TIMEX  TS-2G68. 

The  following  Ad  sizes  are  based  upon  a  page  size  of  8 
1/2  Inches  by  11  inches.  Ads  are  black  and  white  only. 
Reduction  and  enlarging  capability  exists  for  ads  that  are 
off  size.  Camera  ready  copy  should  arrive  at  least  15  days 
before  publishing  date. 

DISPLAY  ADVERTISEMENT  RATE  SCHEDULE 

AD  SIZE  PRICE 


2  pages 
1  page 
2/3  page 
1/2  page 
1/4  page 
1 /8  page 


$220.00 
120.00 
90.00 
65.00 
55.00 
20.00 


(vertical 
(vertical 
(vertical 
(vertical 


or  horozontal ) 
or  horozontal) 
or  horozontal) 
or  horozontal) 


Special  Placement  of  full  page  or  double  page  ads,  add 
10%  and  call  for  reservation  (inside  front  cover,  first  page, 
inside  back  cover,  back  cover). 

Line  ads:  78  characters  per  line  across  page,  1  line 
minimum,  $6.00  per  line.  Will  be  type  set  to  Elite  12  Chrs 
per  line. 


Your  existing  Ad  copy  for  other  publications  is  fine. 
Just  send  copy  with  instructions  for  sizing  (up,  down,  or 
same).  Enhancement  of  legibility  Is  usually  possible.  Draft 
quality  dot  matrix  print  is  not  so  good. 

TERMS;  Check  Payment  with  order  10%  discount,  or 
billing  on  publication  date,     (no  credit  cards). 

Send  Ad  copy  to:  UPDATE  MAGAZINE,  1317  Stratford  Ave., 
Panama  City,  FL  32404.     Tel  904  871  3556  or  904  9871  4513 


77 


CX:T0BER  1988 


UPDATE  MAGAZI^E 


.    £lLlL£  FP-OQ  USERS  I 

IdM  NE^EP  yQMF£  HEL.F>  ! 

We're  trying  to  find  out  if  you,  the 
AERCO  FD-68  users  of  the  world,  would 
be  interested  in  the  following  items 

ADVANCED  USER'S  GUIDE 
FOR  THE  FD-6B  DISK   i /F 

As  we  see  it,   it  would  be  a  definitive 

guide  to  the  AERCO  DOS  AERCO  never 
gave  you.    It  would  include  many 
eicamples  of  how  to  implement  the 
eommands,   ege  sSAVE,   LOAD  and  MERGE. 
It  would  show  how  to  SAVE  arrays/data 
and  how  to  use  the  extra  64K  of  RAM 
that  AERCO  forgot  to  explain  to  you! 
There  would  be  a  complete  appendix  and 
all   items  would  be  cross-  referenced. 
Ue  also  anticipate  including  a  section 
on  the  AERCO/  LKDOS  cartridge  and  its 
operating  system  and  commands. 

I  What  we  NEED  to  know  isT  i 
Jl>  WOULD  THIS  BE  OF  INTEREST  TO  YOU? I 
12>  WHAT  WOULD  IT  BE  WORTH  TO  YOU?  I 
I3>  WOULD  YOU  PAY  $14.95  FOR   IT?  | 

PLEASE- If  you  would   like  to  see  such 
a  volume  put  together,    let  us  know! 

Drop  a  line  or  call   for  more  info.  If 

enough  interest  is  shown,    IT  WILL  BE 
DONE!  The  writer  is  a  VERY  well- 
known  writer  of  software  and  TS 

articles.  You  won't  be  disappointed! 


i  RMG  ENTERPRISES  \ 

I  1419  1/2  7TH  STREET  I 

{    OREGON  CITY.    OR  97045  (503)655-74841 


12v 


NOTICE  TO  AERCO  FD-6d  USERS!!! 

Rod  Gowen,     RMG  Enterprises  is    breaking  a  leg 
trying    to  support  FD-68    users  with  excellent 
software    and  utilities.     NOW  Rod  is  trying  to 
decide  whether  there  is  sufficient  interest  in 
having  a    detailed  manual    for  the    FD-6d.  He 
MUST      have    your    interest    expressed  before 
spending  the  money  to  produce  this  manual  that 
all  FD-6d  users  need. 


FD-68  WRITER  SUPPORT  IS 
NEEDED 

UPDATE  Magazine  AI^  has 
been  beating  the  bushes 
TOYING  to  develop  writer 
support  for  the  FD-68 
users,  with  only  small 
success.  We  NEED  writer 
support  and  ask  that  those 
users  who  are  doing  such 
things  as  MODBl  DOWN  LOAD 
of  CPM  programs,  and  other 
FD-68  use,  CHIP  IN  your 
knowledge  for  the  good  of 
all,  Aerco  FD-68  users 
need  more  interchange  of 
information.  This  page  in 
UPDATE  is  devoted  to 
stirring  up  such  an 
interchange  of  programming 
tips,  DOS  extensions, 
CPM/RPM,  use  of  FD-68 
extra  memory,  supporting 
utilities,  etc. 

There  are  many  TS-2068 
users  who  spent  a  lot  of 
money  for  the  Aerco  FD-68 
Disk  system.  We  once  had 
a  excellent  newsletter 
being  published  in  support 
FD-68  users.  Somehow,  the 
source  of  information 
dried  up.  But,  there  are 
several  expert  programmers 
still  doing  work  with  the 
FD-68.  All  need  your 
information  published  in 
UPDATE,  Time  Designs,  and 
Syncware  news.  Lets  all 
cooperate  to  re-establish 
interest  in  the  FD-68  disk 
system. 

Ihe  first  step  is  to 
notify  Rod  Gowen  that  you 
DO  want  a  good  manual 
publ  ished .  Rod '  s  effort 
to  bring  this  manual  isn't 
profit  motovated,  but  is 
for  the  good  interests  of 
the  user  group .    (ed) . 


UPDATE  MAGAZINE 


78 


OCTOBER  1988 


OCrOBER  1988 


UPDATE  MAGAZItE 


ADDITION  TO  TS-2060  MAIL  MERGE  (October  1987  UPDATE,  OCr87  Issue  Disk): 
Tlie  following  annex  to  Mail  Merge  was  added  to  print  out  the  categories  of 
this  INDEX  after  tlie  Mail  Merge  program  bad  Sorted  tlie  subjects  by  title.  <G0 
TO  6000>  prints  tlie  individual  columns. 

6000>INPUr  "Nbr  of  Items  ";xlt  INPUr  "INPUT  First  TAB  ";tb! 

INPUr  "2nd  Tab  ";tb2 

6002  FOR  n=l  IX)  xl:  LET  m$=o$(n,l):  LET  y$=o$(n,2) 

6004  IF  m$(LEN  m$)="  "  THEN  LET  m$=m$(  TO  LEN  m$-l):  GO  TO  6 

004 

6006  IF  y$(LEN  y$)="  "  THEN  LET  y$=y$(  TO  LEN  y$-l)!  GO  TO  6 


6008  LPRIMT  TAB  tb;m$7TAB  tb2;y$ 
6010  NEXT  n:  STOP 

TIP:  For  all  computers  that  use  DIMENSIONED  CHARACTER  ARRAYS.  Is  there 
one  that  doesn't?  The  above  routine  will  be  explained.  The  DATA  FILE  is 
0$(a,b,<J),  a  three  dimensional  array,  "a"  is  the  number  of  names  in  a  mailing 
list.  "b"  is  tlTe  number  of  information  lines.  "c"  is  the  number  of 
ctiaracters  reserved  for  the  lines.  In  the  case  of  the  INDEX  on  the  opposite 
page,  we  use  tlie  first  two  "b"  lines.  The  first  line  is  the  topic  and  the 
second  line  is  tlie  page  number.  We  combine  these  two  lines  into  one  for 
printing.  If  direct  print  of  the  combined  lines  is  done,  the  "empty  spaces  in 
tlie  dimensioned  line"  would  not  allow  flexible  printing  to  TAB.  GO  TO  6000 
executes  tlie  routine. 

Line  6000  assigns  var  xl  to  tfie  number  of  titles  to  print,  Tlie  n  counter 
is  used  to  count  to  xl.  The  data  in  line  1  is  assigned  to  M$,  and  the  data  in 
line  2  is  assigned  to  Y$.  Line  6004  uses  "recursive"  programming  to  trim  all 
empty  spaces  from  line  1.  Line  6006  does  the  same  for  line  2.  In  both 
instances,  the  line  loops  itself  until  the  IF  THEN  condition  is  false,  tlien 
drops  to  the  next  line.  Each  loop  trims  one  empty  space  from  the  data  line. 
Then  line  6008  prints  tlie  two  data  lines  on  one  paper  line  at  tab.  Line  6008 
is  adjustable,  and  could  print  the  data  to  whatever  two  TAB  positions  desired. 
Line  6010  <NEXr  n>  gets  the  next  two  lines  to  process.  Approximately  one-half 
secoiid  is  consumed  while  processing  each  two  line  group. 


Kinda  liard  to  read  tliat  inset,  eh?  The  manual  for  the  Trump  Card  is 
kinda  like  that.  I've  got  it  figgered  that  Miracle  bunch  has  a  printing 
office  in  Scotland,  and  you  know  hiow  thrifty  the  Scots  are,  eh?  Wot?  Anyhow, 
tlie  Trump  iianual  is  just  too  teenie  weenie  to  read  and  kompersend.  BUT, 
ther's  lotsa  good  puddin  in  the  pages  that  we  need  to  read.  In  fact  iff 'n  we 
dont  be  a  readin  it  we  wont  be  a  larn'ng  it  atall.  The  answer  Is  to  truck  it 
down  to  a  copy  sliop  and  blow  it  up  exactly  4  times,  so's  tlie  pages  comes  out  8 
1/2  X  11  Indies.  That'll  cost  ya  bout  $5.00  that  tfie  Scots  saved,  and  tlien 
you  can  be  a  learning  all  about  the  Trump  stuff  that  you  wont  unless  you  do 
that. 

PAY   AlTENnONI    Tlie  above  was  throwed  in  to  fill  space  ' 
which  was  an  af tertliought.    UPDATE  ISN*T  CASUAL  READIN3.    What  we  try  to  do  is 
to   give  you  a  THREE  MONIH  project  so  that  when  you  are  about  tlirough  with  one 
issue   tlie  next  one  hits  your  mail  box.    Soraetoimes  we  mix  in  bit  of  Cajun  and 
Nawrth  Flurda  Qracker  talk  when  we  don  no  no  nuther  ways  ah  tellin  at  it. 


006 


TRUMP  TIP 


UPDATE  MAGAZINE 


OCTOBER  1988 


79 


o 


n 

CD 
C/) 


<  ? 
a  a. 

S  >  8 

lip,  CO 

=0  3  SI 

5  ^  ~ 
rn  g  D 
m  o  TO 

^15- 
o  z.  ^ 

O  w  (/) 

<" 

C  D) 

^  o 

^  • 

•  o 

o 
3 

O 

c 


en 


c 
a 

C/5 


0 

S 
c 


00  ^ 

2  (0*  DO 

^  > 

9  00  ^ 


CT 

0) 


S 

n